我最近为我的项目买了几个其他域名。
我的问题非常简单..
我想在我的项目中协调不同语言的每个域名..
Language Lauguage folder Different domains
English www.mysite.com/en www.mysite.com
Spanish (Spain) www.mysite.com/es www.mysite.es
German (Germany) www.mysite.com/de www.mysite.de
在上面这个例子中..
如果有人访问www.mysite.de,系统会将其重定向到www.mysite.com/de/并隐藏/ de /来自网址。
如果有人访问www.mysite.es,系统会将其重定向到www.mysite.com/es/并隐藏/ es /来自网址。
如果有人访问www.mysite.en,系统会将其重定向到www.mysite.com/com/并隐藏/ en /来自网址。
任何想法如何处理它?</ p>
答案 0 :(得分:0)
如果语言目录是站点中的phsyical目录,则无需使用重写。它就像在apache conf中为每种语言声明一个虚拟主机一样简单。
<VirtualHost *:80>
DocumentRoot /path/to/mysite/en
ServerName www.mysite.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /path/to/mysite/de
ServerName www.mysite.de
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /path/to/mysite/es
ServerName www.mysite.es
</VirtualHost>
编辑:
我想我现在了解情况。
某些重定向规则怎么样?
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.mysite\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/en/ [NC]
RewriteCond %{REQUEST_URI} !^/de/ [NC]
RewriteCond %{REQUEST_URI} !^/es/ [NC]
RewriteRule ^([^/]+)?/?$ /en/$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^www\.mysite\.de$ [NC]
RewriteCond %{REQUEST_URI} !^/de/ [NC]
RewriteRule ^([^/]+)?/?$ /de/$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^www\.mysite\.es$ [NC]
RewriteCond %{REQUEST_URI} !^/es/ [NC]
RewriteRule ^([^/]+)?/?$ /es/$1 [L,QSA]
编辑2:
编辑重写conds仍然允许旧格式www.mysite.com/de等。