gpt4 book ai didi

.htaccess - 同时使用 http 和 https

转载 作者:行者123 更新时间:2023-12-04 08:32:47 26 4
gpt4 key购买 nike

我不太了解使用 .htaccess 文件。我试过研究。所以,也许有人可以在这里帮助我。我想同时允许 https 和 http。让我解释。

http 正在运行,但网站位于 HTTPS 在控制台中给我一个错误

XMLHttpRequest 无法加载 https://domain1.com/data.json . “Access-Control-Allow-Origin” header 的值为“https://www.domain1.coms” ' 不等于提供的原点。起源' https://www.domain1.com ' 因此不允许访问。

如果我将“http”更改为“ https ”,它适用于 https 网站,但 http 网站不起作用。我如何同时允许两者?

我希望这对你们有意义!感谢您的任何帮助!

这是我的代码:

<IfModule mod_headers.c>
SetEnvIf Origin "http(s)?://(www\.)?(domain.com|domain2.com|domain3.com|domain4.com|domain5.com)$" AccessControlAllowOrigin=$0$1
Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
Header set Access-Control-Allow-Credentials true
</IfModule>

最佳答案

正如另一个答案所指出的,$1应该删除,因为它是 s来自 https://附加到 URL 的末尾,因此应将其更改为:

SetEnvIf Origin "http(s)?://(www\.)?(domain.com|domain2.com|domain3.com|domain4.com|domain5.com)$" AccessControlAllowOrigin=$0

这将确保 AccessControlAllowOrigin设置为 Origin 的精确值标题。

我认为 http://的原因有时工作和 https://有时是因为浏览器很可能会缓存来自服务器的响应。所以你应该同时回复 http://https:// ,或者您应该指定 Vary: Origin头通知浏览器响应依赖于 Origin标题。

我还建议更改 Header addHeader set , Header mergeHeader append , 自 mod_headers文件指出:
add
The response header is added to the existing set of headers, even
if this header already exists. This can result in two (or more)
headers having the same name. This can lead to unforeseen
consequences, and in general set, append or merge should be used
instead.

所以,我的建议是指定 Vary header :
<IfModule mod_headers.c>
SetEnvIf Origin "http(s)?://(www\.)?(domain.com|domain2.com|domain3.com|domain4.com|domain5.com)$" AccessControlAllowOrigin=$0
Header set Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
Header set Access-Control-Allow-Credentials true
Header merge Vary Origin
</IfModule>

或者同时指定 http://https:// :
<IfModule mod_headers.c>
SetEnvIf Origin "https?://(www\.)?(domain.com|domain2.com|domain3.com|domain4.com|domain5.com)$" AccessControlAllowOrigin=$1$2
Header append Access-Control-Allow-Origin http://%{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
Header append Access-Control-Allow-Origin https://%{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
Header set Access-Control-Allow-Credentials true
Header merge Vary Origin
</IfModule>

关于.htaccess - 同时使用 http 和 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40267740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com