0

apache上的htaccess

我有这个网址:

mydomain.com/old.html

我希望它被重写为:

mydomain.com/new.html

但我也希望mydomain.com/old.html始终重定向到mydomain.com/new.html

我尝试了以下方法:

RewriteRule ^/new.html /old.html [R=301,L,PT] 

但它不起作用。

4

2 回答 2

0
Redirect 301 /old.html http://www.yoursite.com/new.html

应该管用。

于 2012-09-08T10:18:36.673 回答
0

删除前导斜杠(或使其成为可选),因为在 htaccess 文件中应用规则时,它已从 URI 中剥离:

RewriteRule ^/?new.html /old.html [R=301,L,PT] 

这需要与其他重写规则一起工作,以便所有事情都发生在一个模块中(mod_rewrite),但如果您不需要 mod_rewrite,则可以改用 mod_alias(删除 mod_rewrite 重定向):

Redirect 301 /old.html http://www.yoursite.com/new.html

但这会将以下内容重定向/old.html/blahblah到:http://www.yoursite.com/new.html/blahblah如果您不希望这样做,请使用:

RedirectMatch 301 ^/old.html$ http://www.yoursite.com/new.html
于 2012-09-08T15:15:22.410 回答