我有一个小的信息网页,可以用日语和英语查看(日语是默认的)。它在技术上只有一个php文件,只是根据URL切换内容的语言。
我想强制www并在两种语言版本上强制使用尾部斜杠。默认的日语页面我只想显示主站点URL,如下所示:
http://www.mydomain.com/
然后在英文版上,我希望它转到如下所示的网址:
http://www.mydomain.com/en/
我无法弄清楚如何强制反斜杠,当我用http://www.mydomain.com/en/index.php之类的东西测试时, 它将其更改为http://www.mydomain.com/en?en。
我当前的.htaccess文件如下所示:
RewriteEngine on
RewriteBase /
#Redirect all non-www traffic to the www version of site
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#Remove 'index.php' from requests
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
RewriteRule ^ %1 [R=301,L]
#Force clean URLs
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/(index\.php)?\?l=(en)$ [NC]
RewriteRule ^ %1\/%3\/ [R=301,L]
答案 0 :(得分:0)
您可以在第一个www
规则下方插入此新规则,以强制使用尾随斜杠:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule . %{REQUEST_URI}/ [L,R=301]