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