0

我正在尝试在我的 codeigniter 站点上设置 SSL,但遇到了一些问题。

Codeigniter 拒绝访问 https://。Firefox 显示此错误:

页面未正确重定向。Firefox 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。

我的配置文件有这个作为 base_url

$config['base_url'] = "http".((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "s" : "")."://".$_SERVER['HTTP_HOST'].str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);

我的 .htaccess 文件如下:

RewriteEngine on
RewriteCond $1 !^(index\.php|first_cut|media|robots\.txt|user_guide|xd_receiver\.htm|channel.php)
RewriteRule ^(.*)$ /index.php/$1 [L]

理想情况下,我希望 https:// 始终应用于这些文件夹...

  • /facebook/比赛
  • /方面/

...然后是网站其余部分的可选 https

有任何想法吗?

4

2 回答 2

2

请尝试此代码

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ http://www.projectname.com/$1 [R=301,L] 
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.projectname.com/$1 [R=301,L]

#search folder and redirect to subdomain 
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} dimentions
RewriteRule ^(.*)$ https://www.projectname.com/$1 [R,L]
于 2012-09-17T07:13:19.387 回答
0

您似乎只想将不存在的文件重定向到index.php. 有一种更简单的方法:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ /index.php/$1 [L]
于 2012-09-16T08:19:40.837 回答