子域上 http:// 的 Htaccess
Htaccess for http:// on subdomains
我目前有一个网站,其 .htaccess 可以正常工作,它会强制 https://www 用户访问该网站。我最近创建了一个子域 "demo.example.com",因为我的主站点 "example.com" 和 "example.com/demo/" 使用同一 CMS 的不同实例,并且两个安装之间的 cookie 混合在一起(因此使用子域会解决这个问题)。
我正在尝试进行以下设置
http://example.com => https://www.example.com
http://www.example.com => https://www.example.com
http://demo.example.com => http://demo.example.com
但我却得到了
http://example.com => https://www.example.com
http://www.example.com => https://www.example.com
http://demo.example.com => https://demo.example.com
由于我的证书不涵盖子域,因此使用 SSL 警告将我的访问者猛击到 demo.example.com
。
我查看了其他 Whosebug 问题,虽然这个 question 看起来很有希望,但我 不 希望我的子域上的访问者重定向到它的子目录。
这是我的 .htaccess
的相关部分
# BEGIN HTTPS Redirection Plugin
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Now, rewrite any request to the wrong domain to use www.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
# END HTTPS Redirection Plugin
在主域的根 .htaccess 中你可以有这个规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?(example\.com)$ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L,NE]
我目前有一个网站,其 .htaccess 可以正常工作,它会强制 https://www 用户访问该网站。我最近创建了一个子域 "demo.example.com",因为我的主站点 "example.com" 和 "example.com/demo/" 使用同一 CMS 的不同实例,并且两个安装之间的 cookie 混合在一起(因此使用子域会解决这个问题)。
我正在尝试进行以下设置
http://example.com => https://www.example.com
http://www.example.com => https://www.example.com
http://demo.example.com => http://demo.example.com
但我却得到了
http://example.com => https://www.example.com
http://www.example.com => https://www.example.com
http://demo.example.com => https://demo.example.com
由于我的证书不涵盖子域,因此使用 SSL 警告将我的访问者猛击到 demo.example.com
。
我查看了其他 Whosebug 问题,虽然这个 question 看起来很有希望,但我 不 希望我的子域上的访问者重定向到它的子目录。
这是我的 .htaccess
的相关部分# BEGIN HTTPS Redirection Plugin
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Now, rewrite any request to the wrong domain to use www.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
# END HTTPS Redirection Plugin
在主域的根 .htaccess 中你可以有这个规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?(example\.com)$ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.%1%{REQUEST_URI} [R=301,L,NE]