apache - 如何从 https://abc.def.com 重定向到 https://uvw.xyz.com?
问题描述
我需要从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 上。
解决方案
修复非常简单。我们只是在我们编写的原始重定向规则的第五行将重定向 URL 更改为https://uvw.xyz.com/
RewriteRule ^(.*)$ https://uvw.xyz.com/$1 [R=301,L]
此外,我的浏览器缓存了我之前规则的结果,它总是转到 http,所以我刚刚清除了浏览器缓存,它开始正确重定向。
推荐阅读
- c++ - 在 C++ 中使用堆栈评估中缀表达式
- reactjs - 如何设置formik字段值
- r - 如何解决 r 错误:找不到函数“%||%”
- arrays - Swift:对数组的某些元素执行操作
- java - 容器化 deeplearning4j 应用程序中的 sigsev 错误
- sql - 使用 Like 运算符的 Qubole Presto 数据类型“Map”
- c# - 将 ListItems 转换为 Decimal 并将它们加在一起以获得总和
- c++ - 在 MacOS 上的 unordered_multimap 中为自定义类型定义哈希函数时遇到问题
- asp.net-core - AAD 组的子组下的用户未能通过 Azure AD 策略进行身份验证
- redirect - How to serve multiple files in Flask in one request, to be utilized in a template?