2016-07-24 19 views
2

我必须创建一个将网站重定向到其他URL的条件,我认为这是相当复杂的条件。如何在.htaccess中应用规则

#RewriteRule (pl)?(/page/5/?)$ /polityka-prywatnosci/ [R=301,L] 

这是我的基地,此重定向,但我需要排除例如字“车”之前/page/5/到出现这个词时,不执行此重定向一些话。为了使一切清楚: 当我得到了:http://some-url/page/5我想重定向到http://some-url/polityka-prywatnosci/ 但是当有http://some-url/car/page/5我想留在这个URL。 我试过这样的伎俩:#RewriteRule (pl)?[^(car)](/page/5/?)$ /polityka-prywatnosci/ [R=301,L]但它不工作。有什么可能克服它?

+0

不幸的是它不工作 –

回答

1

如果负回顾后是允许的,你可以尝试使用:

RewriteRule (?<!car|car/pl)(/pl)?(/page/5/?)$ /polityka-prywatnosci/ [R=301,L] 

regex demo

另一种方式可能是国家连续3次更换:

RewriteRule (/page/5/?)$ /polityka-prywatnosci/ [R=301,L] 
RewriteRule (car|car/pl)/polityka-prywatnosci/$ $1/page/5/ [R=301,L] 
RewriteRule /pl(/polityka-prywatnosci/)$ $1 [R=301,L] 
+0

感谢那个,但是我畏惧它不是在htaccess的允许/ –

+0

@MarekCzyż现在我看到的其他问题同样的话题和向后看似乎是被允许的。无论如何,我已经更新了答案:你认为它可以工作吗? – horcrux

+0

我认为没有,因为htaccess搜索第一个匹配的替换,然后离开@horcrux –