[英]Redirect to subdomain route with www site using .htaccess
我有一个网站,我已将htaccess配置为将所有流量重定向到www网站。 所以我的网站就是这样的:www.domain.com
现在我想支持所有注册用户的子域名功能,例如username.domain.com但我当前的htaccess规则不允许这样,当我点击这样的URL然后它重定向子域URL以包括www我也不想要。 例如:
我点击了username.domain.com,它变成了www.username.domain.com
这是我目前的htaccess代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
我如何支持主网站的www? 因此,当用户点击子域URL时,它不应该在URL中添加www。
我不是URL重写的专家,所以如果我错过了一些明显的东西,我会道歉。
谢谢
在Apache 2.4+
您可以在站点根目录中使用这些规则.htaccess:
RewriteEngine on
# if not main domain skip all rules
RewriteCond %{HTTP_HOST} !^(?:www\.)?domain\.com$ [NC]
RewriteRule ^ - [L]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ %{REQUEST_SCHEME}://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,NE,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
您可以使用:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.