我必须创建一个将网站重定向到其他网址的条件,我认为这是非常复杂的条件。
#RewriteRule (pl)?(/page/5/?)$ /polityka-prywatnosci/ [R=301,L]
这是我重定向的基础,但我需要在/page/5/
之前排除一些单词,例如单词'car',以便在出现此单词时不执行此重定向。为了使一切清楚:
当我得到:http://some-url/page/5
我想将其重定向到http://some-url/polityka-prywatnosci/
但是当http://some-url/car/page/5
我希望留在此网址时。
我试过这样的伎俩:#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]