我有两个不同的域名(比如www.site1.com和www.site2.com)指向同一个托管服务器。
我需要两个不同的域名,因为我想使用第一个用于意大利语内容,第二个用于英语内容。内容是相同的,除非语言,但域 不同。
所以,我想编写一条允许我翻译的规则:
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]
答案 0 :(得分:27)
劳伦斯·切罗纳 - 谢谢你,一个像魅力一样的作品!现在它起作用了:
RewriteCond %{HTTP_HOST} ^www\.site1\.com [NC]
RewriteRule ^(.*)$ index.php?lang=it [NC,QSA]
RewriteCond %{HTTP_HOST} ^www\.site2\.com [NC]
RewriteRule ^(.*)$ index.php?lang=en [NC,QSA]
当然,我在此规则之前检查了www重定向。
谢谢!