.htaccess 重定向非www子域

.htaccess 重定向非www子域,.htaccess,.htaccess,使用这些指令,我可以将任何非www子域重定向到www子域: RewriteEngine On RewriteCond %{HTTP_HOST} !^(www\.|$) [NC] RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 我需要实现的是只重定向www子域 例如,我只想将blog.myname.com重定向到www.blog.myname.com。上面配置中的规则将blog.myname.com重定向到www,但它也

使用这些指令,我可以将任何非www子域重定向到www子域:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www\.|$) [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
我需要实现的是只重定向www子域

例如,我只想将blog.myname.com重定向到www.blog.myname.com。上面配置中的规则将blog.myname.com重定向到www,但它也将myname.com重定向到www.myname.com,这不是我想要的。我还需要重定向所有查询的子域,而不仅仅是blog.myname.com

我如何才能做到这一点?

试试:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog\.myname\.com$ [NC]
RewriteRule ^ http://www.blog.myname.com{REQUEST_URI} [L,R=301]
尝试:


您可以使用此代码实现以下目标:

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

上述代码将重定向所有子域,但不会影响myname.com或www.myname.com。

您可以使用此代码实现以下目标:

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

上述代码将重定向所有子域,但不会影响myname.com或www.myname.com。

嘿,谢谢。我需要删除{REQUEST_URI}才能让它工作。请问如何重定向所有子域,而不仅仅是blog.myname.com?我会更新问题的。嘿,谢谢。我需要删除{REQUEST_URI}才能让它工作。请问如何重定向所有子域,而不仅仅是blog.myname.com?我会更新这个问题。实际上,你的代码将所有subdomain.myname.com重定向到www.myname.com谢谢你试图帮助我:这正是你写这篇文章时想要的:我还需要重定向所有查询到的子域,而不仅仅是blog.myname.com。实际上,我的意思是将所有查询到的非www子域重定向到www子域。例如*.myname.com重定向到www.*myname.com。但现在没事了,我让它工作了。再次感谢:很高兴你让它工作了。我为未来的访问者更新了我的答案,以防他们寻找类似的答案。我决定使用您的指令,因为它更简单:再次感谢。实际上,您的代码将所有subdomain.myname.com重定向到www.myname.com感谢您尝试帮助我:这正是您在编写时想要的:我还需要重定向所有查询的子域不仅仅是blog.myname.com,实际上我的意思是将所有查询到的非www子域重定向到www子域。例如*.myname.com重定向到www.*myname.com。但现在没事了,我让它工作了。再次感谢:很高兴你让它工作了。我为未来的访问者更新了我的答案,以防他们寻找类似的答案。我决定使用您的指令,因为它更简单:再次感谢。