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

Hug*_*cha 2 php redirect codeigniter

  • 我有一个默认控制器(页面),可将页面重定向到首页(下面的代码)。
    • 如果我在重定向之前呼应某些东西,它将起作用。
    • 如果我在home控制器中回显任何内容,则不会显示任何内容,这使我认为它没有到达home控制器。
    • 如果我用家庭控制器中的代码替换重定向,则可以正常工作。
    • 该代码在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');

    }
}
?>
Run Code Online (Sandbox Code Playgroud)

.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"
Run Code Online (Sandbox Code Playgroud)

我在配置中的基本网址配置为网站网址,例如

$config['base_url'] = 'http://example.com/';
Run Code Online (Sandbox Code Playgroud)

不知道该怎么办,我们将不胜感激。

提前致谢,

Hug*_*cha 5

几天后,终于我发现了问题,这是一个愚蠢的错误,如果在.htaccess文件中替换了

RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)

对于

RewriteRule ^(.*)$ /index.php/$1 [L,QSA] 
Run Code Online (Sandbox Code Playgroud)

仅/index.php后面的点引起了问题。本地工作正常,但在服务器中。

感谢Jeremy的帮助。