首页 > 解决方案 > RewriteEngine (.htaccess) 是否有可能看似不删除标题?

问题描述

我有一个在服务器上运行 php 的小型 ajax。该目录有一个 .htaccess ,其中包含以下代码:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^exampleDomain\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.exampleDomain.com/$1 [R,L]

这部分旨在将 http 请求重定向到 https。但是,我从域外调用 ajax,所以我添加了:

Header set Access-Control-Allow-Origin "*"

这是为了告诉浏览器忽略 CORS 策略。

我正在使用 jQuery 发出获取请求(我认为 jQuery 不是问题),它仅适用于 https。如果我向http://exampleDomain.com发出请求,服务器将不会响应 access-control-allow-origin 标头。相反,http://www.exampleDomain.comhttps://www.exampleDomain.comhttps://exampleDomain.com都以标头响应。我想保留 HTTP 升级功能,无论是否使用 .htaccess,而不会干扰发回的标头。

这是发出失败请求的代码:

$.get("http://exampleDomain.com/path/to/file.php", {}, res => console.log(res))

理想情况下,我只需将请求更改为 https,但代码已经在生产中。

我正在使用 Apache2 和 PHP7。

标签: javascriptphpapache.htaccess

解决方案


推荐阅读