我有一个名为es的子域名,当有人想要输入mysite.com/es时我需要它可以重定向到es.mysite.com。它适用于以下htaccess:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.mysite.com$ [NC]
RewriteRule ^(.*)$ http://es.mysite.com/$1 [R=301,L]
RedirectMatch permanent ^/es/?$ http://es.mysite.com/$1
问题在于有人输入mysite.com/es/bla/bla/bla。在这种情况下,使用我的htaccess上的当前配置,用户不会被重定向,我希望用户可以被重定向。
例如:
如果我输入:
http://letsbonus.com/es/barcelona/spa-experiencie-para-2-opcion-masaje-desconecta-roc-nature-273710
这是重定向到:
http://es.letsbonus.com/barcelona/spa-experiencie-para-2-opcion-masaje-desconecta-roc-nature-273710
提前致谢。
答案 0 :(得分:1)
您需要在mysite.com
的根目录.htaccess中使用这一条规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?(mysite\.com)$ [NC]
RewriteRule ^es/(.*)$ http://es.%1/$1 [R=301,L,NE]
答案 1 :(得分:0)
你的两条规则发生冲突:
http://example.com/es/test
http://www.example.com/es/test
es
子域重定向 - > http://es.example.com/test
www
子域名下)我会使用此htaccess来获得例外结果:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www|es).example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
RewriteRule ^es/(.*)$ http://es.example.com/$1 [R=301,L]