Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess Htaccess重定向子域不';行不通_.htaccess_Redirect - Fatal编程技术网

.htaccess 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

我有一个名为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上的当前配置,用户不会被重定向,我希望用户可以被重定向

例如:

如果我进入:

这是重定向到:


提前感谢。

您的两条规则发生冲突:

  • 基本url:
    http://example.com/es/test
  • 非www重定向->
    http://www.example.com/es/test
  • es
    子域重定向->
    http://es.example.com/test
  • 非www重定向。。。(我们不再属于
    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]  

在mysite.com的root.htaccess中只需要这一条规则:

RewriteEngine On  
RewriteCond %{HTTP_HOST} ^(www\.)?(mysite\.com)$ [NC] 
RewriteRule ^es/(.*)$ http://es.%1/$1 [R=301,L,NE]