我有一个由单个CMS安装提供支持的多语言网站。相关语言由URI触发,因此domain.com/pt在domain.com/en英语时显示葡萄牙语。
但是我希望有两个不同的域名,所以portuguese.com显示了domain.com/pt下的内容,english.com显示了域名下的内容。
我已将这两个域名链接到同一帐户,但在此阶段他们并未真正影响该语言。因此,english.com/pt将显示该网站的葡萄牙语版本,而portuguese.com/en将显示英文版本。
如何编辑我的htaccess,以便english.com在服务器端充当portuguese.com/en和english.com/en,但是用户看到.english.com?同样适用于portuguese.com。
这是我目前的代码:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^english\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.english\.com$
RewriteRule ^/?$ "http\:\/\/www\.english\.com\/en\/" [R=301,L]
RewriteCond %{HTTP_HOST} ^portuguese.com
RewriteRule (.*) http://www.portuguese.com/$1 [R=301,L]
提前感谢您的帮助!
我尝试了很多我在网上找到的代码,但它们似乎都没有用!
答案 0 :(得分:0)
在当前规则下添加以下两条规则:
RewriteCond %{HTTP_HOST} ^(www\.)?portuguese\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^((?!pt/).*) /pt/$1 [L,NC]
RewriteCond %{HTTP_HOST} ^(www\.)?english\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^((?!en/).*) /en/$1 [L,NC]