0

我在我的项目中使用 CI,当我在生产服务器上移动它时,在调用 $this->session->set_flashdata 时看到错误“404 page not found”。当我请求任何页面时,此错误会保留,直到我清除 cookie。再次调用“set_flashdata”后,此错误重复出现。

function _set_success($message)
{
    $this->session->set_flashdata('is_db_msg', 1);
    $this->session->set_flashdata('db_msg', $message);;
}

$result = $this->page_model->edit_page($page_name, $this->_get_data_array());

$result ? $this->_set_success('OK') : $this->_set_error(DB_ERROR);

redirect(BASEURL.'admin/pages');

// 重定向后的服务器 404(在任何页面上)

BASEURL 是常量:DEFINE(' http://mysite.com '); 我也在使用这个.htaccess:

DirectoryIndex index.php

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www [NC]
RewriteRule ^(index\.php/?)?(.*[^/])/?$ http://mysite.com/$2 [L,R=301]

RewriteCond %{HTTP_HOST} ^www [NC]
RewriteRule ^$ http://mysite.com [L,R=301]


RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(index\.php/?)?(.+)/$ /$2 [L,R=301]

RewriteCond %{ENV:REDIRECT_FINISH} ^$
RewriteRule ^index\.php/(.*)$ $1 [L,R=301]


RewriteRule ^(main/index(/index)?|index(\.php)?)/?$ / [L,R=301]
RewriteRule ^([^/]*)/index/?$ $1 [L,R=301]

RewriteCond %{REQUEST_URI} ^(system|application).*
RewriteRule ^(.*)$ /index.php/$1 [L,E=FINISH:END] 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L,E=FINISH:END] 

请帮助并为我糟糕的英语感到抱歉。

4

1 回答 1

1
You should use following for redirecting:

redirect('admin/pages');

or

redirect(base_url().'index.php/admin/pages');

or

DEFINE('BASEURL','http://mysite.com')
redirect(BASEURL.'index.php/admin/pages');
于 2013-08-05T10:20:54.807 回答