这个Apache mod_rewrite规则有什么问题?

时间:2015-11-10 00:42:29

标签: apache .htaccess mod-rewrite

我正在尝试为Apache网站编写一些重定向,但我的mod_rewrite技能很生疏。这条规则有什么问题?

RewriteRule ^/en/(.*)$ /$1 [R=301,L]

我希望它将http://example.com/en/whatevs.html重定向到http://example.com/whatevs.html,但似乎不匹配。

1 个答案:

答案 0 :(得分:1)

RewriteEngine On
RewriteRule ^en/(.*)$ /$1 [R=301,L]

你很亲密。重写难以记住何时使用开始/何时不使用。我把重写引擎放进去,以防它已经把你的想法包括在内。

例如:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/en/.*$
RewriteRule ^en/(.*) /$1 [R=301,L]

注意哪个有斜杠,哪个没有。

还有一些细微差别,这取决于你的规则是在httpd.conf文件中还是在.htaccess文件中,但我忘记了确切的差异。