将index.php?lang = en重写为/ en

时间:2016-12-09 00:02:16

标签: .htaccess redirect

我在重定向一个页面多语言网站时遇到问题。我的htaccess重定向无法正常工作。我需要帮助怎么做。当我在我的htaccess中添加这两行时:

RewriteCond %{QUERY_STRING} ^lang=en$
RewriteRule ^ /en? [R=301,L]

重定向工作,但mysite.com/en显示404未找到。 有人帮我这个吗?

1 个答案:

答案 0 :(得分:0)

RewriteEngine On
RewriteCond %{QUERY_STRING} ^lang=en$
RewriteRule ^(.*)$ index.php?lang=$1

RewriteRule ^[a-z]{2}$ index.php?lang=$1

如果要将其限制为仅限两个小写字符。如果您未使用mysite.com/xy形式的其他参数,则可以跳过RewriteCondition

也许也适用

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

使Apache只重写不存在的文件&文件夹。