我正在嘗試使用Apache vhosts配置控制我的網站上的重定向。Apache vhosts配置RewriteCond忽略URL的一部分
我有兩個字母的區域設置,如/fr
,/de
,/es
,我目前正在忽略,你會從我的虛擬主機文件下面看到。不過,我也有一個301永久重定向設置重定向/釐米(和/fr/cm
,/es/cm
等)到另一個頁面 - 這是在我的後端系統控制。
的併發症是當我添加行RewriteCond %{REQUEST_URI} !^/cm
這是由的RewriteCond抓住了,但是我再不能在所有訪問/fr
,/de
,/es
等因爲他們似乎陷入一個循環,並轉到:www.ayrshireminis.com/fr/fr/fr/fr/fr/fr/fr/fr
和那麼它就是HTTP 500內部服務器錯誤。
我如何可以改變的RewriteCond允許:
- /PA(這將被重定向到/迷你,但在數據庫中控制,需要保持一個有效的URL)
- /FR(區域)
- /FR/PA
- /ES/PA
等
# ----------------------------------------------------------------------
# REGION SPECIFIC REDIRECTIONS
# Below will remove region specific part of URL and load content from main UK site
# ----------------------------------------------------------------------
RewriteCond %{REQUEST_URI} ^/([a-z]{2})$ [OR]
RewriteCond %{REQUEST_URI} ^/([a-z]{2}/)(.*)$
RewriteCond %{REQUEST_URI} !^/cm
RewriteRule ^([a-z]{2}/|[a-z]{2})(.*)$ /$2 [L,QSA]
# For VirtualDocumentRoot development instance configurations
RewriteRule ^([^.]+)$ /index.php?url=$1 [L,QSA]
你打算導致哪些URL重定向到「www.ayrshireminis.com/fr/fr/fr/fr/fr/fr/fr/fr」? –