Mod重写URL并始终重定向到新网址

时间:2012-09-08 09:55:53

标签: apache .htaccess mod-rewrite

apt上的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] 

但它不起作用。

2 个答案:

答案 0 :(得分:0)

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

应该工作。

答案 1 :(得分: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