【问题标题】:force HTTPS to HTTP强制 HTTPS 到 HTTP
【发布时间】:2019-05-01 10:56:58
【问题描述】:

之前我使用 Cloudflare 并将所有流量从 HTTP 重定向到 HTTPS,但现在由于一些问题我们需要转回 HTTP,并且我们不再使用 Cloudflare, 我们的一些用户仍在访问旧的 HTTPS 网址,他们收到“无法访问此站点”错误 我们正在使用 Apache/2.4.18,我已经尝试了所有建议的修复程序来强制所有 HTTPS 流量到 HTTP,但没有任何效果 这是我的虚拟主机设置

<VirtualHost *:80>
ServerAdmin myemail@live.com
ServerName mysite.com
ServerAlias www.mysite.com
DocumentRoot /var/www/html/mysite.com
CustomLog /var/www/logs/site_Log.log combined
ErrorLog /var/www/error_logs/site_Erro.log
<Directory /var/www/html/mysite.com>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all

这是我的 htaccess 设置

RewriteEngine On 
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

是的,mod_rewrite 已启用

【问题讨论】:

  • 必须有一个虚拟主机在端口 443 上侦听(启用 SSL)才能使重写规则起作用。否则你要重写的请求甚至不会被服务器看到...
  • 你的意思是default-ssl.conf,这里是default-ssl.conf的设置 default:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/html SSLOptions +StdEnvVars SSLOptions +StdEnvVars VirtualHost> #vim: syntax=apache ts=4 sw=4 sts=4 sr noet
  • 您有有效的 ssl 证书吗?需要 ssl 证书才能将域从 https 重定向到 http,因为当您使用 https 方案键入域时,ssl 是在服务器上检查的第一件事,这发生在 httpshttp 之前应用重定向
  • 我已经安装了 SSL,但还是没有成功

标签: mod-rewrite server apache2.4


【解决方案1】:

好的。所以这个 htaccess 对我有用

RewriteEngine On
RewriteCond %{HTTPS} on

RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

【讨论】:

    猜你喜欢
    • 2020-08-09
    • 2014-08-15
    • 2016-11-14
    • 2020-05-28
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    • 2016-06-18
    • 2020-04-06
    相关资源
    最近更新 更多