我试图弄清楚如何排除我的WordPress网站的某个特定子域被强制为HTTPS。
这是我的.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# HTTPS by default
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
此代码非常适用于强制执行HTTPS。现在,我希望我的download.domain.com保持纯HTTP,而不是加密。我尝试了很多很多东西,而且我没有设法让一些有用的东西。
感谢。
答案 0 :(得分:3)
# HTTPS by default except for download.domain.com
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !=download.domain.com
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
这应该可以解决问题。
当您进行测试时,请注意浏览器会缓存301重定向 - 因此您可能拒绝使用正常工作的解决方案,因为您的浏览器会欺骗您。确保打开浏览器开发工具并禁用请求缓存。