0

前段时间,我设法找到一种方法,使用 Apache 将我的所有 https 重定向到 http(而不是相反)。我想这样做是因为我没有任何 SSL 证书,但我使用的所有浏览器都强制使用 https,因此导致 SSL 错误或超时,具体取决于我是否监听 443 端口。但是因为我很愚蠢,我忘记为包含该解决方案的 Apache 保存 vhost 文件,我无法让它再次工作。

我在互联网上尝试了所有方法,但没有任何效果。

如果这改变了什么,我将 ISPConfig 与 Apache 一起使用。

我尝试将重写规则放在 .htacess 中,但什么也没发生。在 apache 的 default-ssl.vhost 中尝试了这些相同的规则,但什么也没发生。

它快把我逼疯了。这是我尝试过的规则,似乎对除我以外的所有人都有效。

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

我可能没有把它放在正确的地方,因为我对 Apache 和服务器配置了解不多,但是因为我试图把它放在任何地方,如果我错过了那个地方,我会被诅咒的。

有人可以告诉我将这些规则放在哪里,或者在我哭之前帮我找到重定向问题的解决方案吗?

4

1 回答 1

0

在那个愚蠢的问题上浪费了一夜之后,我终于发现,由于 Zend 将 boostrap 和 access 文件放在了 root/public 目录中,我只需要添加

<Directory "/var/www/<link to site made by ISPConfig>/web/public">
            AllowOverride All
            Order allow,deny
            Allow from all
            RewriteEngine On
            RewriteCond %{HTTPS} on
            RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
    </Directory>
    <Directory "/var/www/clients/client0/web1/web/public">
            AllowOverride All
            Order allow,deny
            Allow from all
            RewriteEngine On
            RewriteCond %{HTTPS} on
            RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
    </Directory>

代替

<Directory "/var/www/<link to site made by ISPConfig>/web">
            AllowOverride All
            Order allow,deny
            Allow from all
            RewriteEngine On
            RewriteCond %{HTTPS} on
            RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
    </Directory>
    <Directory "/var/www/clients/client0/web1/web">
            AllowOverride All
            Order allow,deny
            Allow from all
            RewriteEngine On
            RewriteCond %{HTTPS} on
            RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]
    </Directory>

这只是一个该死的目录故事

我希望它会以某种方式帮助某人,或者至少在我再次忘记时帮助我自己。

于 2013-05-04T13:23:48.770 回答