2010-08-17 62 views
0

下面的htaccess的重定向规则正常工作:htaccess重定向 - 更严格匹配301?

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/ 

会很好,否则忽略较长的版本也不错。

谢谢!

回答

3

Redirect匹配的路径前缀,而不仅仅是整个路径:

,如果你想了解更多关于它的阅读。如果给定的路径前缀与请求的路径匹配,则来自前缀on的剩余路径将被附加到替换路径。

所以使用RedirectMatch不是与^$标记路径的起点和终点:

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

而且解决方案应该是

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

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

我无法尝试它,所以让我知道如果它不工作。

^匹配字符串的开始和$匹配字符串的结尾。 http://www.regular-expressions.info/