我正在尝试让 SSL 在 LAMP 服务器上为我的网站工作。当我在网站上键入任何页面地址时 https://www.example.com它被重定向到 http://www.example.com .
如果我能让服务器通过 HTTPS,我认为 SSL 会工作(或者至少我可以做到),但它只是拒绝,并且总是更改为 HTTP。该网站使用 Joomla!但我很确定它不相关,因为:
我有另一个几乎相同的 Joomla!站点在同一台服务器上,并且 SSL 成功运行。
SSL 证书已经过检查,有效且安装正确。
没有 PHP 重定向。
没有直接与 HTTP/S 等相关的 .htaccess 重定向。
.htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]
RewriteRule ^order/payment(/?.*)$ /payment [R=301,L]
RewriteRule ^order/complete$ /index.php?option=com_cake&task=orders&id=complete [L]
RewriteRule ^order2$ /index.php?option=com_cake&task=orders&id=index [L]
RewriteRule ^order/2$ /index.php?option=com_cake&task=orders&id=index [L]
RewriteRule ^payment/(.+)$ /index.php?option=com_cake&task=payments&id=$1 [L]
RewriteRule ^admin/(.+)$ /index.php?option=com_cake&task=admin&id=$1 [L]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
那么为什么网站会重定向?有什么想法吗?
对于了解 Joomla! 的任何人我尝试安装此插件 http://www.yireo.com/software/joomla-extensions/ssl-redirect并尝试在我的主页上启用“安全”选项,但它不起作用。我认为这是因为它可能正在工作,但由于某些未知原因,服务器再次重定向到 HTTP。
最佳答案
排除任何 Joomla 配置问题的简单方法是将一个空文件上传到根目录。将其命名为 ssltest.html,然后使用 https 访问该文件。如果它仍然重定向,那么你有服务器/证书安装问题,你的主机需要检查它。
关于apache - 当我访问 HTTPS 时,网站一直重定向到 HTTP,原因不明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12388272/