我需要从https://abc.def.com重定向到https://uvw.xyz.com
我尝试使用以下Apache重定向规则:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule . https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
RewriteCond %{HTTP_HOST} ^abc\.def\.com$ [NC]
RewriteRule ^(.*)$ http://uvw.xyz.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^uvw\.xyz\.com$
RewriteRule ^.*$ - [F]
它不是重定向到https,而是重定向到http。我还为http://uvw.xyz.com设置了重定向规则,以重定向到https://uvw.xyz.com,这样,如果有人尝试不安全地访问该URL,它将重定向到安全网络。
我有一个用例,可以将其加载到https上另一个应用程序下的iframe中。尝试使用iframe打开页面时出现以下错误。
混合内容:“ https://someapplication.com/someaction”页面 已通过HTTPS加载,但请求了不安全的资源 'http://uvw.xyz.com/someotheraction'。该请求已被阻止; 内容必须通过HTTPS提供。
请帮助我制定正确的重定向规则
我正在使用Apache / 2.2.31。
答案 0 :(得分:0)
修复非常简单。我们只是在编写的原始重定向规则的第五行上将重定向URL更改为https://uvw.xyz.com/
RewriteRule ^(.*)$ https://uvw.xyz.com/$1 [R=301,L]
我的浏览器还缓存了我以前的规则的结果,并且总是转到http,所以我只是清除了浏览器的缓存并开始正确重定向。