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]
但它不起作用。
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]
但它不起作用。
Redirect 301 /old.html http://www.yoursite.com/new.html
应该管用。
删除前导斜杠(或使其成为可选),因为在 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