我很难为我的htaccess文件编写重写规则,该规则应该从www.example.com/en转发到www.example.com/en /
我试过了:RewriteRule ^en/?$ en [L]
但没有任何反应。有人知道如何实现这个目标吗?
答案 0 :(得分:1)
您可以在.htaccess文件中使用以下规则:
Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(?![^/]*/).*$ %{REQUEST_URI}/ [L,R]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)/$ index.php?lang=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)/([^/]*)/?$ index.php?action=$2&lang=$1 [QSA,L]
这将:
/en
到/en/
,在内部重定向,这到/index.php?lang=en
/fr/login
至/index.php?action=login&lang=fr
此外:根据您的评论,您需要此规则才能在域中添加www:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
答案 1 :(得分:0)
RedirectMatch Permanent ^/en$ /en/