Apache 不同的域名重定向到不同的语言
我最近为我的项目买了几个其他域名 我的问题很简单 我想在我的项目中协调不同语言上的每个域名Apache 不同的域名重定向到不同的语言,apache,Apache,我最近为我的项目买了几个其他域名 我的问题很简单 我想在我的项目中协调不同语言上的每个域名 Language Lauguage folder Different domains English www.mysite.com/en www.mysite.com Spanish (Spain) www.mysite.com/es www.mysite.es German (Germa
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/,并从url中隐藏/de/
如果有人访问www.mysite.es,系统会将他们重定向到www.mysite.com/es/并从url中隐藏/es/
如果有人访问www.mysite.en,系统会将他们重定向到www.mysite.com/com/,并从url中隐藏/en/
知道如何处理吗?如果站点中的语言目录是phsycal目录,则不需要使用“重写”。这非常简单,只需在apacheconf中为每种语言声明一个虚拟主机
<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>
编辑2:
编辑了重写条件,仍然允许使用旧格式www.mysite.com/de等。我想在服务器上执行此操作。。通过htaccess文件或mod_别名文件。您的站点语言是否在不同的物理目录中?另外,您有权更改conf文件吗?如果两者的答案都是肯定的,那么我的答案就是最佳解决方案。如果任何人的答案都是否定的,那么您只能使用“重写”。mod_别名在htaccess中不可用。是。。我的网站有5种不同的语言。。如果我通过www.example.com/es访问,每种语言都可以使用,因此它可以加载西班牙语内容,其他语言也可以使用。所以我最近为更好的搜索引擎优化系统购买了一些特定市场的域名。。所以我希望我的网站的西班牙语域名是www.example.es等等。。。你知道怎么做吗。。我完全厌倦了寻找解决方案。。。非常感谢。我想我现在了解情况了。你能在你的htaccess中试用我的新答案吗?我是这样试的。。但每当我通过www.example.es/test,它就会重定向到。。。
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]