如何使用子域将 HTTP 重新连接到 HTTPS?
How do I reconnect HTTP to HTTPS with subdomain?
我有以下 HTTP 地址:
http://www.example.com/
但是我的 HTTPS 地址有一个子域,没有 www,像这样:
https://secure.example.com/
我尝试了以下规则:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://secure.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
将我发送至:
https://secure.www.example.com/
在这种情况下如何强制使用 HTTPS?因为我需要删除 www。
编辑: 我在 'fancy urls' 上面有这些规则,因为我将 WordPress 用作 CMS:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://secure.example.com/ [L,R=301]
</IfModule>
或
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://secure.example.com/ [R=301,L]
两条规则都是这样做的:任何非 https 请求都被重定向到 https://secure.example.com,同时保留整个 url
这应该是您完整的 htaccess :
RewriteEngine On
RewriteBase /
#1--Redirect "http://domain to "https://secure"
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://secure.domain.com%{REQUEST_URI} [L,R=301]
#2--wp rules--#
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
我有以下 HTTP 地址:
http://www.example.com/
但是我的 HTTPS 地址有一个子域,没有 www,像这样:
https://secure.example.com/
我尝试了以下规则:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://secure.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
将我发送至:
https://secure.www.example.com/
在这种情况下如何强制使用 HTTPS?因为我需要删除 www。
编辑: 我在 'fancy urls' 上面有这些规则,因为我将 WordPress 用作 CMS:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://secure.example.com/ [L,R=301]
</IfModule>
或
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://secure.example.com/ [R=301,L]
两条规则都是这样做的:任何非 https 请求都被重定向到 https://secure.example.com,同时保留整个 url
这应该是您完整的 htaccess :
RewriteEngine On
RewriteBase /
#1--Redirect "http://domain to "https://secure"
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://secure.domain.com%{REQUEST_URI} [L,R=301]
#2--wp rules--#
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]