301重定向行为奇怪

时间:2016-02-15 17:17:09

标签: .htaccess redirect

遇到此问题,第二行中的重定向将重定向到第一行中的URL。

Redirect 301 /academics/degrees http://mydomain.edu/folder1/location1/
Redirect 301 /academics/degrees/phd http://mydomain.edu/folder1/location2/

起初我认为它与要重定向的包含连字符的位置有关,但是无法找到任何内容。

是否与要重定向的位置共享相同的文件夹/永久链接结构有关?

我以前从未遇到过这种情况而且完全迷失了。我试过RedirectMatch,但没有任何效果。

1 个答案:

答案 0 :(得分:1)

这是因为/academics/degrees匹配两个网址,/academics/degrees/phd的规则永远不会触发。要么更改规则的顺序,要么更好地使用RedirectMatch和正则表达式功能来匹配所需的URL模式:

RedirectMatch 301 ^/academics/degrees/?$ http://mydomain.edu/folder1/location1/
RedirectMatch 301 ^/academics/degrees/phd/?$ http://mydomain.edu/folder1/location2/

确保在测试此更改之前清除浏览器缓存。