.htaccess - 将网站从 https 重定向到 http 但浏览器显示“重定向过多”
问题描述
这是我的 .htaccess 文件:
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
问题是当我将此规则添加到我的 .htaccess 文件并重新加载它说我“重定向过多”的站点时,该站点无法正常工作。为什么?如何将 https 更改为 http?我只想在几周内进行此更改,但我不知道如何进行。谢谢
编辑:
我将代码更改为:
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
但它仍然不起作用
解决方案
尝试:
RewriteCond %{HTTPS} !^off$
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
或者:
RewriteCond %{SERVER_PORT} ^443$
RewriterRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
如果这不起作用,浏览器可能会阻止它重定向回 http。或者,浏览器在重定向到 HTTP 后重定向回 HTTPS,并且循环从那里开始。
无论如何,将https重定向到http是一个非常糟糕的主意。如果 ssl 证书是您的问题,您可以从 LetsEncrypt 免费获得一个 :) 对于 localhost,您可以创建自己的自签名证书,并在您的电脑中信任它。
您实际上应该通常从 HTTP 重定向到 HTTPS,因为需要安全性。
推荐阅读
- php - 如何检查用户是否已经创建,如果没有,则创建,否则显示用户已创建的错误消息 Laravel
- javascript - 如何在角度 8 的同一个 div 中打开两个模态?
- python - 如何在不同的不等号集合上应用相同的变换。顶点数
- pip - 如何使用 pip 安装所有可用的附加功能(如果有)?
- javascript - Angular:JS 生成代码的事件处理问题或无法使用 *ngfor 将类添加到 HTML 生成的代码中
- javascript - 如何使用 JSON 服务器更新 ReactJS 中的数据
- r - 如何进一步操作从 R dplyr 中的 group_map() 创建的列表
- angular8 - 子组件登录后参数丢失
- python - 有没有办法将轴对象用作文本框?
- javascript - 传单多色折线