.htaccess 通过htaccess强制选择页面上的安全服务器不工作

.htaccess 通过htaccess强制选择页面上的安全服务器不工作,.htaccess,mod-rewrite,https,.htaccess,Mod Rewrite,Https,我使用mod_重写来强制两个页面使用HTTPS,而所有其他页面都应该保持HTTP。目前,我可以成功地在我需要的页面上强制使用HTTPS——但是,当我尝试将所有其他页面更改为HTTP时,我的HTTPS页面变得不安全。我猜这是因为规则出于某种原因正在更改HTTPS页面加载的资产的URL 有什么想法吗?这是我正在使用的.htaccess文件。 (请注意,在我的主机上需要ENV:HTTPS方法) 我相信,当您猜测第二条规则将强制安全页面请求的资产(css/js等)重定向到http时,您是正确的。要防止出

我使用mod_重写来强制两个页面使用HTTPS,而所有其他页面都应该保持HTTP。目前,我可以成功地在我需要的页面上强制使用HTTPS——但是,当我尝试将所有其他页面更改为HTTP时,我的HTTPS页面变得不安全。我猜这是因为规则出于某种原因正在更改HTTPS页面加载的资产的URL

有什么想法吗?这是我正在使用的.htaccess文件。 (请注意,在我的主机上需要ENV:HTTPS方法)


我相信,当您猜测第二条规则将强制安全页面请求的资产(css/js等)重定向到http时,您是正确的。要防止出现这种情况,请添加以下内容

# FORCE HTTP (IF ADDED, BREAKS THE SITE)
RewriteCond %{ENV:HTTPS} on [NC]
RewriteCond %{REQUEST_URI} !^(/index\.php|)/(donate|achdebit)/?$
#NEW# only redirect requests that are not for existing files
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ http://www.site.org/$1 [R,NC,L]
或者明确地将上述#新资产替换为

#only redirect requests that are not for existing files
RewriteCond %{REQUEST_URI} !\.(css|js|png|gif|etc) [NC]

Safari似乎工作得很好,但Firefox和IE9不再认为Https是安全的。。。我知道它会尝试,因为它会在一瞬间显示安全标志,然后将其移除。url是HTTPS url,它甚至不尝试显示安全标志。它被完全移除了。
#only redirect requests that are not for existing files
RewriteCond %{REQUEST_URI} !\.(css|js|png|gif|etc) [NC]