0

嗨,我需要一些帮助。问题:我现在使用 CMS 使我的网站成为多语言的,它处理 index.php 中的所有内容我正在尝试重定向所有从 root 访问的 .html 页面,例如

http://www.website.com/englishpage.html 我想把它重定向到 http://www.website.com/en/englishpage.html

然后二次重定向将剖析该信息并将其发送到 index.php,然后它将提供正确的页面。

现在,我收到太多重定向错误

# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*\.html)$ en/$1\.html [R=301,L]
RewriteRule ^(en|ru)?(\/)?(.*)$ index.php?c=$1&q=$3 [L,QSA]

我在这里做错了什么

谢谢

4

1 回答 1

1

(.*\.html)不够具体,因此也匹配/en/englishpage.html. 它还不断添加.html到结尾。

所以/englishpage.html重定向到/en/englishpage.html.html,重定向到/en/en/englishpage.html.html.html等等。

要解决这两个问题:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)\.html$ en/$1\.html [R=301,L]

RewriteRule ^((en|ru)/)?(.*)$ index.php?c=$1&q=$3 [L,QSA]

PS没必要逃了/

于 2013-02-04T18:07:01.843 回答