htaccess重定向 - 在301上更严格的匹配?

时间:2010-08-17 07:55:15

标签: apache .htaccess redirect

以下基于htaccess的重定向规则可以正常工作:

Redirect 301 /content/category/2/24/30/ /new/c/url/

问题是它运作得很好。如果用户前往

/content/category/2/24/30/50/50/

它将重定向到:

/new/c/url/50/50/

如何让它进行严格的匹配?将两个示例重定向到简单:

/new/c/url/

没关系,否则忽略较长的版本也不错。

谢谢!

2 个答案:

答案 0 :(得分:3)

Redirect匹配路径前缀,而不仅仅是整个路径。如果给定的路径前缀与请求的路径匹配,则前缀on的剩余路径将附加到替换路径。

因此,使用RedirectMatch代替^$标记路径的开头和结尾:

RedirectMatch 301 ^/content/category/2/24/30/$ /new/c/url/

答案 1 :(得分:0)

解决方案应该是

RedirectMatch 301 ^/content/category/2/24/30/$ /new/c/url/

基本上你说30 /是字符串的结尾。

我无法尝试,所以如果它不起作用,请告诉我。

^ 匹配字符串的开头, $ 匹配字符串的结尾。

如果您想了解更多信息,请阅读此内容:http://www.regular-expressions.info/