Apache2 https保持redirect(301)到http

尽pipe我已经使用了Apache多年,但我刚接触https和SSL。 为了testing,我已经执行了一些在Internet上find的openssl命令来生成一个自签名证书,供Apache使用。 当我第一次打到https:// mydomain的 URL时,我得到了关于证书的浏览器警告,这是预期的。 接受我的浏览器中的证书后,似乎所有的httpsurl都redirect到与http等同的301。

我无法确定为什么。 任何线索? 我在公共目录的根目录中有一个.htaccess文件,但我不认为它是原因(没有提及https)。

这是Gentoo Linux,Apache 2.2.11。

这是我的Apacheconfiguration的一部分。 大部分是默认情况下Gentoo的Apache安装。

<IfDefine SSL> <IfDefine SSL_DEFAULT_VHOST> <IfModule ssl_module> Listen 443 NameVirtualHost *:443 <VirtualHost *:443> ServerName mydomain.com Include /etc/apache2/vhosts.d/default_vhost.include ErrorLog /var/log/apache2/mydomain.com.ssl.errors CustomLog /var/log/apache2/mydomain.com.ssl.log combined <IfModule log_config_module> TransferLog /var/log/apache2/ssl_access_log </IfModule> SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile /etc/apache2/ssl/mydomain.com.crt SSLCertificateKeyFile /etc/apache2/ssl/mydomain.com.key SSLOptions StrictRequire <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "/var/www/localhost/cgi-bin"> SSLOptions +StdEnvVars </Directory> SSLProtocol all -SSLv2 <IfModule setenvif_module> BrowserMatch ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 </IfModule> <IfModule log_config_module> CustomLog /var/log/apache2/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </IfModule> RewriteEngine On DocumentRoot "/var/www/mydomain.com/public" <Directory "/var/www/mydomain.com/public"> SSLRequireSSL Options Indexes FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> </IfModule> </IfDefine> </IfDefine> 

你有这个网站上安装的CMS或博客软件,如WordPress? 许多这样的系统使用301redirect来指导您的首选主机名(与www)或重写URL /永久链接的目的。

如果您正在运行CMS,请停用永久链接/ SEO优化,如果仍有问题,请使用.htaccess的内容更新您的问题,并让我们知道网站上运行的是什么(或者纯HTML等)。 )

编辑:现在你已经确定redirect只发生在PHP网站,而不是任何通用的PHP或HTML文件,你可以searchPHP代码,在这里做的。 search“ header( ”,你可能会find它。

我find了代码的相关部分,并做了一些调整。 我的问题现在已经解决了。 它不是一个服务器configuration问题,只是一些错误的PHP代码。 @Dave Forgac:感谢您花时间回复。 您的build议让我的思维在正确的方向上思考正确的事情,然后排除故障顺利进行。