0

我正在尝试让 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。

4

3 回答 3

0

尝试

   RewriteEngine on
   Options +FollowSymLinks 
   # Rewrite to https
   RewriteCond %{HTTPS} off
   RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]
于 2012-09-12T12:37:23.330 回答
0

排除任何 Joomla 配置问题的简单方法是将一个空文件上传到根目录。将其命名为 ssltest.html,然后使用 https 访问该文件。如果它仍然重定向,那么您有一个服务器/证书安装问题,您的主机需要检查它。

于 2012-09-18T15:44:13.977 回答
-2

如果您在全局配置集中有 Joomla Force SSL 选项并且它不起作用,请您将其报告为错误?

于 2012-09-14T13:59:32.680 回答