我想将所有子域名(我在apache虚拟主机中设置的通配符子域名)重定向到https(如果是http),除了www.domain.com
之外的其他所有子域名任何想法都非常感激。
这是我到目前为止所拥有的:
# Redirect subdomains to https
#RewriteCond %{HTTPS} off
#RewriteCond %{HTTP_HOST} ^(*)\. [NC]
#RewriteCond %{HTTP_HOST} !^(www)\. [NC]
#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
谢谢!
答案 0 :(得分:5)
在.htaccess文件中尝试此代码:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteCond %{SERVER_PORT} =80
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
答案 1 :(得分:2)
这可以帮到你:
RewriteCond %{HTTP_HOST} !^(www\.)localhost.com$
RewriteCond %{HTTP_HOST} ^(.*?)\.localhost.com$
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*?)$ https://%{HTTP_HOST} [nc]
首先RewriteCond
:如果网站没有以www
第二个RewriteCond
:获取任何子域
第三个RewriteCond
:检查https是否已在请求的网址
RewriteRule
:重定向到https版网站