在我的网站上,我想要仅在我的网站页面中使用https" securepage.aspx"
我的网站看起来像http://www.test.com/
我的安全页面将是https://www.test.com/securepage.aspx
JS / Images 等所有资源都位于资产文件夹中,而我的 webservices 位于commonwebservice文件夹的root上。
http://www.test.com/assets/js/
http://www.test.com/assets/images/
当我在安全页面上应用https时,该页面确实使用了 chrome浏览器中的任何CSS和JS文件,即我的整个页面搞砸了,即使我已经使用了CSS和JS的绝对URL。
在这种情况下,我的网络服务在所有浏览器上给出500错误。
任何人都可以建议并指导我处理这种情况的最佳方法。
答案 0 :(得分:1)
您所看到的行为令人沮丧,但却是正确的。使用HTTPS提供页面时,您还必须在HTTPS下提供所有链接的内容。
检查我们的协议相对网址(http://paulirish.com/2010/the-protocol-relative-url/)
基本上,它们看起来像这样:
<img src="//domain.com/img/logo.png">
如果您的网页是HTTP,则资源会在HTTP下加载,如果是HTTP,则会在HTTPS下安全加载。
您必须将服务器设置为在两者之下提供CSS / JS / WS内容,但是一旦您这样做,上面的相对链接将允许您在两者之间无缝切换。因此,对于主页面中的链接,使用相对格式,然后无论内容页面是在HTTP还是HTTPS下运行都无关紧要,资源将从与页面相同的协议中提取。