htaccess将非www子文件夹重写为www子文件夹重定向到www根目录


htaccess rewrite non-www subfolder to www subfolder redirects to www root

我想重定向

mydomain.com/subfolder

www.mydomain.com/subfolder

使用.htaccess

这就是我尝试过的。

Root.htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www'. [NC]
RewriteRule .? http://www.%{HTTP_HOST}/{REQUEST_URI} [R=301,L]

子文件夹.htaccess:

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

由于一个奇怪的原因,正在重定向

mydomain.com/subfolder

www.mydomain.com

我尝试过只实现root.htaccess,只实现subfolder.htaccess,同时实现root和subfolder.htaccess,并且没有.htacccess重定向,并且只使用PHP重定向重定向。所有这些选项都将mydomain.com/subfolder路由到www.mydomain.com.

是不是有其他东西在重定向流量?

感谢

规则中似乎有一些语法错误。在根htaccess中尝试此操作,以重定向到www(包括子文件夹)。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www'. [NC]
RewriteRule (.*) http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]