我很好奇是否有人可以教育我更好地理解为什么以下根据订单不起作用。
当我首先进行/ contact的重定向时,位置页面无法正确重定向。
Redirect 301 /contact http://www.example.com/contact-us
Redirect 301 /index.php/contact/location1 http://www.example.com/contact-us/location1
Redirect 301 /index.php/contact/location2 http://www.example.com/contact-us/location1
当我在位置之后拥有它时,它们正常工作。这是为什么?
Redirect 301 /index.php/contact/location1 http://www.example.com/contact-us/location1
Redirect 301 /index.php/contact/location2 http://www.example.com/contact-us/location1
Redirect 301 /contact http://www.example.com/contact-us
答案 0 :(得分:1)
这是因为其他2个网址中也包含/contact
。
最好使用能够使用正则表达式的RedirectMatch
指令,以便您可以准确匹配所需的内容。
使用RedirectMatch
指令也可以:
RedirectMatch 301 ^/contact/?$ http://www.example.com/contact-us
RedirectMatch 301 ^/index\.php/contact/location1/?$ http://www.example.com/contact-us/location1
RedirectMatch 301 ^/index\.php/contact/location2/?$ http://www.example.com/contact-us/location1