嗨,我需要一些帮助。 问题: 我现在使用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]
我在这里做错了什么
感谢
答案 0 :(得分: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无需逃避/