.htaccess Htaccess重定向子域不';行不通
我有一个名为es的子域,当有人想要进入mysite.com/es时,我需要将其重定向到es.mysite.com。它与以下htaccess一起工作:.htaccess Htaccess重定向子域不';行不通,.htaccess,redirect,.htaccess,Redirect,我有一个名为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
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上的当前配置,用户不会被重定向,我希望用户可以被重定向
例如:
如果我进入:
这是重定向到:
提前感谢。您的两条规则发生冲突:
- 基本url:
http://example.com/es/test
- 非www重定向->
http://www.example.com/es/test
子域重定向->es
http://es.example.com/test
- 非www重定向。。。(我们不再属于
子域)www
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]
在mysite.com的root.htaccess中只需要这一条规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?(mysite\.com)$ [NC]
RewriteRule ^es/(.*)$ http://es.%1/$1 [R=301,L,NE]