我有一个非常基本的CodeIgniter设置,现在需要完全在SSL上运行。所以,我认为我需要通过一些.htaccess规则强制https,因为这似乎是最直观和直接的方法。这就是我的工作:
config:
$config['base_url'] = 'https://cooldomain.com';
$config['index_page'] = '';
htaccess的:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
#remove ugly index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1
结果是我在FireBug中收到了大量相同的GET请求,导致出现“空白”错误屏幕。
.htaccess之类的CI URI模式不会重定向吗?当然这必须有效吗?
答案 0 :(得分:2)
不应该
RewriteCond %{S} off
实际上是
RewriteCond %{HTTPS} off
答案 1 :(得分:0)
因为我在谷歌搜索中得到的回答相当高,所以我会回答这个问题。
从评论中读到,似乎是网络服务器前面的负载均衡器。发生这种情况时,您也可以检查以下内容,看看是否存在https连接:
RewriteCond %{HTTP:X-Forwarded-Proto} =http