.htaccess从index.php重定向无法正常工作

时间:2016-09-22 19:16:19

标签: apache .htaccess

我尽力搜索堆栈溢出问题和答案,即使我尝试应用解决方案,也无法正常工作。

我需要重定向以

开头的所有地址

http://www.example.com/index.php?lang=XX

http://www.example.com/XX

这是我尝试的:

RewriteCond %{HTTP_HOST} ^www.example\.com [NC]
RewriteRule ^(index\.php\?lang\=)$ http://www.example.com/$1 [L,R=302]

位置/index.php?lang=en 不是重定向/ en(任何地方)。 它位于同一个网址。

1 个答案:

答案 0 :(得分:1)

您无法在重写中匹配query_string。你需要一个特定的RewriteCond。它或多或少应该是这样的:

RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteCond %{QUERY_STRING} ^lang=(.*)
RewriteRule ^ http://www.example.com/%1 [R=302,L,QSD]