上传到服务器时路由不起作用(CodeIgniter)

时间:2013-06-12 11:35:03

标签: php codeigniter codeigniter-2

我在CodeIgniter上创建了一个网站,一切都在XAMPP上正常运行。但是当我将文件上传到服务器时,路由停止工作。我在除索引页面之外的所有页面上都收到404 URL not found错误。

这是我的路线。

$route['default_controller'] = "onlinec";
$route['404_override'] = '';
$route['home'] = 'serial/home/';
$route['done'] = 'serial/done/';
$route['redeem'] = 'serial/redeem/';
$route['printpage'] = 'serial/printpage/';
$route['login'] = 'serial/auth/login';
$route['logout'] = 'serial/auth/logout';

这是我的 .htaccess

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

</IfModule>

<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>

on http:/***/serial/home我收到404网址未找到错误

http:/***/serial/上我正确地获得了该页面。

所以目前只有index.php才能正常工作

尝试$config['uri_protocol'] = 'AUTO';上的所有可能性,mod_rewrite <{1}}中的httpd.conf已开启 任何人都可以帮助我。这是AWS Linux服务器。

1 个答案:

答案 0 :(得分:1)

尝试添加htaccess Rewritebase,如:

RewriteEngine On

RewriteBase /

RewriteEngine On

RewriteBase /subfolder/subsubfolder/

并尝试设置

$ config ['base_url']喜欢:

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

而不是:

$config['base_url'] = '';

在配置文件中。