【发布时间】:2014-02-01 16:54:33
【问题描述】:
我有一个可以用日语和英语查看的小型信息网页(默认为日语)。从技术上讲,它只是一个 php 文件,只是根据 URL 切换内容的语言。
我想在两种语言版本上强制使用 www 并强制使用斜杠。我只想显示主站点 URL 的默认日语页面如下:
http://www.mydomain.com/
然后在英文版上,我希望它转到如下所示的 URL:
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]
【问题讨论】:
标签: regex apache .htaccess mod-rewrite