我有一些htaccess规则可以重写友好的URL。一切都是分开的。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R] # <- for test, for prod use [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.html [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*?)/?$ $1.html [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . / [L,R=301]
这是一个包含语言子文件夹的网站,例如:
/fr/about.html
/en/about.html
根据上述htaccess规则,这些网址如下:
/fr/about
/en/about
但是这也意味着我的索引页面网址如下:
/fr/index
/en/index
我想要的是,/ index的URL看起来像是
/fr
/en
这意味着他们会尊重我上面的htaccess的尾部斜杠部分,但会从网址中删除index
。
非常感谢任何帮助!
答案 0 :(得分:0)
尝试添加(RewriteCond %{THE_REQUEST} ^
之前...):
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*?)/index(\.html)?[\s?] [NC]
RewriteRule ^ %1 [R=301,L]