简单的 mod_rewrite 规则不起作用

简单的 mod_rewrite 规则不起作用

我想将用户重定向至http://uppereast.comhttp://nyclocalliving.com。这是我下面的 .htaccess 文件,但我没有重定向到我的新 URL。

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^uppereast.com$ [NC]
    RewriteRule ^(.*)$ http://nyclocalliving.com [L,R=301]
... 

我错过了什么?

谢谢

答案1

尝试 [R=301,L] 而不是 [L,R=301]。

请注意,按照您的书写方式,uppereast.com 会匹配,但 www.uppereast.com 不会匹配。

答案2

您缺少正则表达式“。”的转义符,该符位于 RewriteCond 的主机名模式中:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^uppereast\.com$ [NC]
    RewriteRule ^(.*)$ http://nyclocalliving.com [L,R=301]
...

^uppereast**\**.com$

此外,规则中不需要使用 $,您所需要的只是:

RewriteRule ^(.*) http://nyclocalliving.com [L,R=301]

相关内容