强制特定URL为HTTP而不是HTTPS

时间:2017-04-24 20:44:32

标签: .htaccess ssl iframe

对于网站,我们目前只是完全切换到SSL(所有网址都使用HTTPS)。我们直到现在才意识到这一点,但我们有一个iFrame,它可以在其上托管视频,iFrame会在其末端调用不安全的脚本。

我们希望能够在此特定网址上禁用HTTPS并将其更改为HTTP。该网址为https://www.website.com/media/ {name-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]

我已经尝试瞄准媒体slu and并将其重写为HTTP而没有运气,然后再次我不是服务器大师所以我可能写错了重写规则。

我目前正在尝试此功能,但它无效:

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

我需要采用什么样的重写规则来定位所有/ media / {whatever}域并将其更改为http://www.website.com/media/ {whatever}

1 个答案:

答案 0 :(得分:1)

这应该有效:

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]

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