当我访问HTTPS时,站点保持重定向到HTTP,原因不明

时间:2012-09-12 12:34:15

标签: apache .htaccess ssl joomla

我正在尝试在LAMP服务器上为我的网站运行SSL。当我在网站上输入https://www.example.com的任何网页地址时,它会被重定向到http://www.example.com

我认为SSL可以工作(或者至少我可以使用),如果我可以让服务器通过HTTPS,但它只是拒绝,并且总是更改为HTTP。该网站使用Joomla!但我很确定它不相关,如:

  • 我有另一个几乎相同的Joomla!站点位于同一台服务器上,SSL工作成功。

  • SSL证书已经过检查并且有效且安装正确。

  • 没有PHP重定向。

  • 没有.htaccess重定向直接与HTTP / S等有关。

的.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,原因不明。

3 个答案:

答案 0 :(得分:0)

TRY

   RewriteEngine on
   Options +FollowSymLinks 
   # Rewrite to https
   RewriteCond %{HTTPS} off
   RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]

答案 1 :(得分:0)

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

答案 2 :(得分:-2)

如果您在全局配置集中使用了Joomla Force SSL选项并且它无效,请将其报告为错误吗?