我不知道这是我刚刚安装的购物车系统的问题,还是我做错了(或者甚至是真正的问题) - 但现在发生了什么:
我的网站上有一些网页是通过https(例如购物车结帐)提供的。我有其他页面是纯http(例如我的phpBB讨论论坛)。
发生的事情是,如果我访问安全页面,然后点击指向非安全页面的链接,它仍然会在浏览器地址栏中显示为“https://www.foo.com/unsecure_stuff” - 带挂锁和绿色安全指标等。
如果我从未访问过安全页面,那么网站的其余部分就会正常运行。
这不是一个大问题,但像某些像“喜欢”按钮的东西不会因某种原因而显示。我也想知道根本原因是什么,以及如何修复它。
商店目录有自己的.htaccess,那里有这个部分 - 我不明白,但也许这是继续重定向到https的原因?
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteBase /store
...谢谢
答案 0 :(得分:1)
您的回答是正确的,如果您使用链接的相对路径,则HTTPS://将保持不变,解决方案是按照您的说法执行,并使用完整的URL路径。
但是,据我所知,如果您有大量链接并且不想通过并更改它们,那么让完整站点运行SSL并不是一个问题。也许是一个非常轻微的性能问题,但很可能没有你会注意到的。有关详情,请参阅:HTTP vs HTTPS performance
此外,您应该使用iframe FB like按钮,然后将网址指向//而不是http://或https://,请参阅:Facebook 'Like' button breaks https/SSL
答案 1 :(得分:0)
我相信这里的修复方法是使用链接的完整路径而不是相对路径。