2012-11-08 27 views
2

我需要重定向它具有在開始的國家代碼以下網址:mod_rewrite的國家代碼爲URI

http://xx.domain.com/test.html 

到:

http://xx.domain.com/xx_en/test.html 

我想出了以下內容,當然這將有一個無限循環:

RewriteCond %{REQUEST_URI} !/xx_en/ [NC] 
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com [NC] 
RewriteRule (.*) /%1_en/$1 [R=301,L] 

所以我加了第一線,如果你不/ xx_en /中日看到這,我想,是指e request_uri然後執行以下操作。

任何想法我做錯了什麼?

+0

快速的問題:你有的所有國家代碼是隻有兩個字母?此外,在'!/ xx_en /'xx這裏是任何國家代碼的符號。對? – Sameh

回答

0

使用類似以下規則集:

RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/%1_en/.*$ 
RewriteRule ^(.*)$ /%1_en/$1 [R=301,L] 

你可以把它理解,如:下domain.com所有請求所有三級域名不與/ <第三級開始> _en /重定向到它...