2016-07-24 60 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 –