【问题标题】:How to redirect a .html file to a subfolder? [closed]如何将 .html 文件重定向到子文件夹? [关闭]
【发布时间】:2017-02-21 11:36:46
【问题描述】:

我尝试使用 html 创建在线多语言简历。只是我没有找到任何解决方案如何将“www.cv.com/cvfiles/index_en.html”网址重定向到“www.cv.com/en/cvfiles/”?还有法语 (index_fr.html) 和德语 (index_de.html)...

我的简历网站的所有文件都可以在以下文件夹中找到:.../public_html/cvfiles/

【问题讨论】:

  • 所以您想从拥有三语网站转变为只使用一个 URL 的一种语言?
  • 是的!我可以在 public_html/ 文件夹中使用一些小技巧,例如 make en/cvfiles/、fr/cvfiles/、de/cvfiles/ 文件夹,但会复制很多文件。我想要并且需要保持根文件夹的整洁。

标签: html .htaccess redirect mod-rewrite url-rewriting


【解决方案1】:

要从/xx/cvfiles/重写为/cvfiles/index_xx.html,必须先捕获语言部分,然后将其附加到目标索引

RewriteRule ^(..)/cvfiles/?$ /cvfiles/index_$1.html [L]

我将最后的斜线设为可选。如果您想要强制使用斜线,只需省略问号 ?,例如^(..)/cvfiles/$


要反过来重写,只需交换模式和替换

RewriteRule ^cvfiles/index_(..)\.html$ /$1/cvfiles/ [L]

【讨论】:

  • 我找到了一个基于您提供的代码的解决方案(仅虚拟文件夹重写我尝试先修复它。):RewriteRule ^en(.*)$ index_en.html$1 [QSA ] 这段代码运行的很好,只是发现了一个很奇怪的问题。当我在 www.cv.com/en 访问我的简历时,url 会正确加载 index_en.html 文件,其中包含位于根目录中的所有图像和样式。但是,当我在网址的末尾添加斜杠“/”时,例如 www.cv.com/en/ 页面可以加载 index_en.html 文件,而无需 css 和图像。
  • 您可以看到以下错误消息:在此服务器上找不到请求的 URL /index_en.htmlstyle/maincss.css。
  • 也许这是 CSS 和图像的相对 URL 的问题?
  • 嗯...为什么没有“/”斜线?
  • 我不明白这个问题。什么意思?
猜你喜欢
  • 1970-01-01
  • 2016-05-08
  • 1970-01-01
  • 2021-09-08
  • 2021-04-23
  • 2018-09-30
  • 2017-12-05
  • 1970-01-01
  • 2016-12-21
相关资源
最近更新 更多