对于一个网站,我们目前仅完全切换到了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/