Codeigniter默认路由不起作用

时间:2013-10-14 18:32:40

标签: php .htaccess codeigniter routes

在我的新CI项目中,每次尝试访问除基本URL和基本URL /index.php之外的任何URL时,我都会收到以下错误。例如,如果我想访问“关于”页面:

  

未找到

     

在此服务器上找不到请求的URL / my_base_url / about。

这就是我的routes.php文件的样子:

$route['default_controller'] = "base";
$route['about'] = "base/about";
$route['404_override'] = '';

我已经对我的Base控制器进行了三次检查,它肯定有一个about方法(加载一个现有的“about”视图)。

这是我的.htaccess文件:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

以下是我在config.php文件中设置的一些内容:

$config['base_url'] = 'http://localhost/my_base_url/';
$config['index_page'] = '';
$config['uri_protocol'] = 'AUTO';

我做错了什么?任何帮助非常感谢!

2 个答案:

答案 0 :(得分:1)

htaccess文件应该在my_base_url目录中,你应该包含一个重写库:

Options FollowSymLinks

RewriteEngine on
RewriteBase /my_base_url/
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

答案 1 :(得分:0)

如果您使用Apache,请查看配置文件。

LoadModule rewrite_module modules / mod_rewrite.so

AllowOverride All