【发布时间】:2017-04-23 15:40:38
【问题描述】:
我正在尝试解决如何将所有 http 实例重定向到 https://,但不包括子域。
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^(www\.)?example.co [NC]
RewriteRule (.*) https://example.co/$1 [L,R=301,QSA]
例如,domain.example.co 应该保持原样,而不是重定向到https://。
example.co 或 example.co/sub/sub 应重定向到 https://
我已尝试更改 RewriteRule:
RewriteRule ^$ https://example.co/$1 [R,L]
这会使子域保持原样,但对 example.co 下的子目录没有影响 - 即 example.co/sub/sub。
如何从 http 重定向到 https 但排除所有子域?
注意
我还有一个重写规则,它将子域指向它们的目录而不更改 URL:
RewriteCond %{HTTP_HOST} ^(.*)\.example\.co [NC]
RewriteRule ^(.*)/?$ http://example.co/%1/$1 [P]
sub.example.co 将显示example.co/sub,但 URL 不会改变
【问题讨论】:
标签: apache .htaccess redirect mod-rewrite url-rewriting