12
我有兩個不同的域(比如www.site1.com和www.site2.com)指向同一個託管服務器。根據主機名或域名重寫htaccess
我需要兩個不同的域名,因爲我想用第一個意大利語內容和第二個英文內容。內容是相同的,除非語言,但域有是不同的。
所以,我想寫一個規則,讓我翻譯的:
www.site1.com
到/?lang=it
www.site2.com
到/?lang=en
我通常使用相同用於許多不同語言的域名,從www.site.com/it/
到/?lang=it
(當然,透明重寫 - 用戶沒有看到任何不同的URL)。
我想使用不同的域名來實現同樣的功能,但我無法弄清楚......我一直在努力工作數小時,並且無法達到我想要的效果!
通常我用這個:
RewriteCond %{REQUEST_URI} /([a-z]{2})
RewriteRule ^([a-z]{2})[/]*$ /index.php?lang=$1 [NC,QSA]
我不能得到這個一兩件事,用不同的領域:
RewriteCond %{HTTP_HOST} ^www.site1\.com [NC]
RewriteCond %{REQUEST_URI} !^/index.php?lang=it
RewriteRule ^(.*)$ /index.php?lang=it [NC,QSA]
RewriteCond %{HTTP_HOST} ^www.site2\.com [NC]
RewriteCond %{REQUEST_URI} !^/index.php?lang=en
RewriteRule ^(.*)$ /index.php?lang=en [NC,QSA]
[.htaccess RewriteRule:兩個域使用相同的服務器和目錄]的可能重複(http://stackoverflow.com/questions/6972413/htaccess-rewriterule-two-domains-using-same-server-and-directory) – 2012-04-19 16:48:30
這個設置會發生什麼?如果你刪除第二個RewriteCond('^/index.php?lang =它永遠不會匹配,REQUEST_URI不會公開查詢參數,請改爲檢查%{QUERY_STRING})? – nikoshr 2012-04-19 17:58:12
我已經嘗試了許多不同的「版本」的規則在後面的灰色塊...我總是得到一個HTTP 500錯誤或只是一個空的$ _GET。我的意思是,在其他試驗中,有或沒有第二個條件「RewriteCond%{REQUEST_URI}!^/index.php?lang = it」。 – 2012-04-20 06:57:37