将Apache VirtualHost中的HTTPS永久重定向到HTTP

7

关于将HTTP重定向到HTTPS的问题有很多,就像这样:

<VirtualHost *:80>
    ServerName www.example.com
    Redirect / https://www.example.com/ 
</VirtualHost>

<VirtualHost *:443>
    ServerName www.example.com
    # ... SSL configuration goes here
</VirtualHost>

我需要做相反的事情,从HTTPS到HTTP,可能不使用mod_rewrite。这有可能吗?
Apache版本:服务器版本:Apache/2.4.7 (Ubuntu)
我尝试过这个方法,但它不起作用:
<VirtualHost _default_:443>
        ServerName example.com
        ServerAlias *.example.com
        Redirect "/" "http://example.com/"
</VirtualHost>

你正在运行哪个版本的Apache? - Dusan Bajic
@dusan.bajic 服务器版本:Apache/2.4.7 (Ubuntu) - somonek
可能是将HTTP请求重定向到HTTPS的推荐方法的重复问题。 - Tom
如果您检查error_log,我敢打赌您会看到类似于“[error]服务器应该具备SSL意识,但未配置证书提示:SSLCertificateFile”的内容。这是由于缺少SSL断言引起的。 - Tyler Christian
1个回答

3

这是对我有效的代码。

<VirtualHost *:80>
    ServerName example.com  
    ServerAlias www.example.com 
    DocumentRoot /var/www/html/example.com
</VirtualHost>

<VirtualHost *:443> ServerName example.com RewriteEngine on RewriteRule ^ http://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent] </VirtualHost>

这段代码是一个Apache虚拟主机配置文件,用于将所有HTTPS请求重定向到HTTP。在该配置中,“ServerName”指定了要重定向的域名,“RewriteRule”指定了重定向规则。

2
不确定为什么这个答案被踩了?与问题下的评论不同,这是唯一一个至少试图不忽略问题是关于将https重定向到http而不是颠倒的答案!网络上发生了什么事?是“某些人”试图强制我们所有人使用证书和https吗?并非每个网站都需要这样做!但是,是的,需要付费。再次! - nilsun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接