301重定向与其他301重定向的冲突

时间:2014-11-13 21:04:18

标签: .htaccess redirect

我遇到了重定向冲突,并没有解决它。 例如,我有以下重定向:

redirect 301 http://www.example.com/mobile-cars http://www.example.com/cars/
redirect 301 http://www.example.com/mobile-cars/for-her http://www.example.com/cars-for-her/
redirect 301 http://www.example.com/mobile-cars/for-him http://www.example.com/cars-for-him/
redirect 301 /mobile-cars/for-her/kia-moto http://www.example.com/kia-12.html

第一个重定向与所有其他重定向冲突(我假设它是因为第一个重定向始终是其他域的一部分)。即使我摆脱了http://www.example.com/并且只是尝试重定向查询它也不起作用。

是否有任何参数阻止使用重定向进行重定向或其他操作?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您需要在通用的全部重定向之前保留特定的重定向:

redirect 301 /mobile-cars/for-her/kia-moto /kia-12.html
redirect 301 /mobile-cars/for-her /cars-for-her/
redirect 301 /mobile-cars/for-him /cars-for-him/
redirect 301 /mobile-cars /cars/

或使用RedirectMatch

RedirectMatch 301 ^/mobile-cars/for-her/kia-moto /kia-12.html
RedirectMatch 301 ^/mobile-cars/(for-her|for-him) /cars-$1/
RedirectMatch 301 ^/mobile-cars /cars/