Codeigniter PHP - 重定向在真实服务器上给出内部服务器错误

时间:2015-05-09 22:33:34

标签: php codeigniter redirect

  • 我有一个默认控制器(页面),可以将页面重定向到主页 (以下代码)。
    • 如果我在重定向之前回复了某些内容,那就可以了。
    • 如果我回应家庭控制器中的任何内容,则不显示任何内容 让我觉得它没有到达家庭控制器。
    • 如果我将重定向替换为家庭控制器中的代码 工作正常。
    • 代码在localhost上运行正常,但始终提供内部服务器 服务器上的错误。
    • 如果我加载模板而不是重定向,则可以正常工作。

添加 error_reporting(E_ALL | E_WARNING | E_NOTICE); ini_set('display_errors',TRUE); 不打印任何东西。

无法访问apache日志。

页面控制器:

<?php

class Pages extends CI_Controller {

    public function view($page = 'index')
    {

        if ( ! file_exists(APPPATH.'/views/pages/'.$page.'.php'))
        {
            // Whoops, we don't have a page for that!
            show_404();
        }

        redirect('home', 'refresh');

    }
}
?>

有一个带有以下内容的.htacces文件我试图移除其中的内容仍然无法正常工作,但无论如何我都会放在这里:

    RewriteEngine On
    RewriteBase /site/

    RewriteCond %{REQUEST_FILENAME} !/(application/views/templates/*/css|js|images/)/
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

Header set Access-Control-Allow-Origin "http://example.com"

配置中的我的基本网址配置为网站网址

$config['base_url'] = 'http://example.com/';

不知道还能做什么,我们将不胜感激。

提前致谢,

1 个答案:

答案 0 :(得分:4)

几天后我终于发现了问题,有点愚蠢的错误,如果在.htaccess文件中我更换了

RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

有关

RewriteRule ^(.*)$ /index.php/$1 [L,QSA] 

只有/index.php背后的点才会导致问题。 本地工作正常,但在服务器..

感谢Jeremy的帮助。