2

在我的网站上,我只想应用 https 我的网站页面“securepage.aspx”之一

我的网站看起来像http://www.test.com/

我的安全页面将是https://www.test.com/securepage.aspx

我的所有资源(如JS/Images)都在assets文件夹中,而我的webservices位于 commonwebservice 文件夹的根目录中。

http://www.test.com/assets/js/

http://www.test.com/assets/images/

当我在安全页面上应用 https 时,该页面确实使用了chrome 浏览器中的任何 CSS 和 JS 文件,即我的整个页面都搞砸了,即使我在那里使用了 CSS 和 JS 的绝对 URL。

在这种情况下,我的网络服务在所有浏览器上都会出现 500 错误。

任何人都可以建议并指导我处理这种情况的最佳方法是什么。

4

1 回答 1

1

您看到的行为令人沮丧,但正确。当您使用 HTTPS 提供页面时,您还必须在 HTTPS 下提供所有链接内容。

检查我们的协议相关 URL ( http://paulirish.com/2010/the-protocol-relative-url/ )

基本上,它们看起来像这样:

<img src="//domain.com/img/logo.png">

如果您的页面是 HTTP,则资源在 HTTP 下加载,如果是 HTTP,则资源在 HTTPS 下安全加载。

您必须设置服务器以在两者下提供 CSS/JS/WS 内容,但是一旦您这样做了,上面的相对链接将允许您在两者之间无缝切换。因此,对于母版页中的链接,请使用相对格式,然后无论内容页面是在 HTTP 还是 HTTPS 下运行,资源将从与页面相同的协议中提取。

于 2013-02-05T19:55:28.707 回答