[英]Redirect subdomain to main domain
我正在处理一个同时支持英语和西班牙语的网站,我想知道如何将所有请求重定向到特定于语言的子域到主域(en.mysite.com和es.mysite.com到mysite.com)。
整个站点都使用PHP编程,并且具有主脚本index.php
,该脚本处理language
和GET参数section
并相应地显示内容。
现在,我尝试在mysite.com根目录下的.htaccess文件中执行以下操作。 我认为这澄清了我要做什么:
RewriteEngine On
# English redirects
RewriteRule ^en.mysite.com$ index.php?language=English§ion=Main
RewriteRule ^en.mysite.com/store$ index.php?language=English§ion=Store
RewriteRule ^en.mysite.com/create_account$ index.php?language=English§ion=CreateAcc
# Spanish redirects
RewriteRule ^es.mysite.com$ index.php?language=Spanish§ion=Feed
RewriteRule ^es.mysite.com/comprar$ index.php?language=Spanish§ion=Store
RewriteRule ^es.mysite.com/crear_cuenta$ index.php?language=Spanish§ion=CreateAcc
但这是行不通的。 谁能告诉我我在做什么错?
您不能在RewriteRule
中将主机名作为匹配项的一部分,因为它仅与URI匹配。 您需要为每个规则使用与主机名匹配的单独RewriteCond
:
RewriteCond %{HTTP_HOST} ^en.mysite.com$ [NC]
RewriteRule ^$ /index.php?language=English§ion=Main
RewriteCond %{HTTP_HOST} ^en.mysite.com$ [NC]
RewriteRule ^store$ /index.php?language=English§ion=Store
RewriteCond %{HTTP_HOST} ^en.mysite.com$ [NC]
RewriteRule ^create_account$ /index.php?language=English§ion=CreateAcc
然后西班牙语重写:
RewriteCond %{HTTP_HOST} ^es.mysite.com$ [NC]
RewriteRule ^$ /index.php?language=English§ion=Feed
RewriteCond %{HTTP_HOST} ^es.mysite.com$ [NC]
RewriteRule ^comprar$ /index.php?language=English§ion=Store
RewriteCond %{HTTP_HOST} ^es.mysite.com$ [NC]
RewriteRule ^crear_cuenta$ /index.php?language=English§ion=CreateAcc
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.