htaccess的现代重写URL始终重定向到新的URL在Apache
我有这个网址:
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]
但它不工作。
htaccess的现代重写URL始终重定向到新的URL在Apache
我有这个网址:
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]
但它不工作。
删除前导斜杠(或使其可选),因为它是从URI在一个htaccess文件应用规则时剥离:
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
Redirect 301 /old.html http://www.yoursite.com/new.html
应该工作。
但是,这并不与重写工作:网页没有正确重定向 –
您能得到什么?白页?重定向循环? 404? – 2012-09-08 12:59:38