对于一个网站,我们目前仅完全切换到了SSL(所有网址均使用HTTPS)。直到现在我们还没有意识到,但是我们拥有一个在其上托管视频的iFrame,iFrame会在其末尾调用不安全的脚本。

我们希望能够禁用此特定URL上的HTTPS,并将其更改为HTTP。网址为https://www.website.com/media/ {media-of-media-here}。媒体名称根据媒体名称而变化。 iFrame位于所有这些媒体页面上。

在我们的.htaccess文件中,当前有以下内容:

RewriteEngine On
RewriteCond %{HTTPS} !=on

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]


我曾尝试将媒体块定位为目标,然后将其重写为HTTP却没有运气,然后我又不是服务器专家,因此我可能写错了重写规则。

我目前正在尝试此操作,但无法正常工作:

RewriteCond %{HTTPS} off
RewriteRule ^media/(.*)$ http://www.example.com/media/$1 [R,L]


我需要针对所有/ media / {whatever}域并将其更改为http://www.website.com/media/ {whatever}的哪种重写规则

最佳答案

这应该工作:

RewriteEngine On

RewriteCond %{HTTPS} !=on
RewriteCond %{THE_REQUEST} !/media/ [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

RewriteCond %{HTTPS} on
RewriteCond %{THE_REQUEST} /media/ [NC]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]


确保在测试时清除浏览器缓存。

关于.htaccess - 强制将特定URL设置为HTTP而不是HTTPS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43597395/

10-08 22:33