【问题标题】:Codeigniter + SSL + .htaccess + infinite redirectsCodeigniter + SSL + .htaccess + 无限重定向
【发布时间】:2012-09-17 15:13:19
【问题描述】:

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

有什么想法吗?

【问题讨论】:

  • 你得到了哪些重定向?运行curl -i $url 并向我们展示输出。

标签: php .htaccess codeigniter ssl


【解决方案1】:

请尝试此代码

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]

【讨论】:

    【解决方案2】:

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

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^(.*)$ /index.php/$1 [L]
    

    【讨论】:

    • 这会返回 500 内部错误,这会解决 SSL 问题吗?
    猜你喜欢
    • 1970-01-01
    • 2016-12-18
    • 2012-02-06
    • 1970-01-01
    • 2023-03-20
    • 2021-09-06
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    相关资源
    最近更新 更多