我发现此代码将http重定向到https (仅用于一个域),但我不明白为什么它也将子域重定向到https。如何跟踪正在发生的事情?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^mydomain\.com$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>
在下一步中,我想添加以下行以将https重定向到某些子域的http。他们正确吗?
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^demo1\.mydomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^demo2\.mydomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^demo3\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
我用this site测试了代码,在其中显示了正确的输出,但是在我的服务器子域上也重定向到了https。