我有一个旧网站,网址为A和B
A. www.site.com/about
B. www.site.com/about/subpage
我需要重定向
A. www.site.com/about-us
B. www.site.com/not-a-sub-anymore
我的htaccess包含
Redirect 301 /about /about-us
Redirect 301 /about/subpage /not-a-sub-anymore
第一个重定向工作正常,但是,我的第二个重定向似乎继承了第一个规则,导致我重定向到www.site.com/about-us/not-a-sub-anymore
,这显然导致了404。我该如何解决这个问题?
编辑:我正在使用apache2.2.3,我在apache 2.4.8中看到他们添加了RewriteRule IgnoreInherit
这似乎是我正在寻找的东西。不幸的是,我无法控制我的apache版本。
答案 0 :(得分:1)
我建议通过RewriteRule重定向以防止其他规则被触发:
RewriteRule ^about/subpage$ /not-a-sub-anymore [R=301,L]
RewriteRule ^about$ /about-us [R=301,L]
但是,如果您坚持使用重定向301,我会尝试重新排列订单:
Redirect 301 /about/subpage /not-a-sub-anymore
Redirect 301 /about /about-us