在codeigniter中的localhost中路由问题

时间:2017-01-18 12:13:24

标签: php codeigniter routes

我有这个网址:http://localhost/fixbud/作为我的主页网址。我的页面渲染得很好。但当我转到另一个链接时:http://localhost/fixbud/answer_forum我收到错误404。

以下是我的路线:

$route['default_controller'] = "fixbudd";
$route['404_override'] = '';
$route['index'] = "fixbudd/index";
$route['answer_forum'] = "fixbudd/answer_forum";

的.htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

配置

$config['base_url'] = 'http://localhost/fixbud/';
$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';

您能告诉我路由网址中的规则以及如何解决我的问题吗? 我正在使用CI2

3 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并将其添加到apache config中解决了。

   <Directory "<to your project">

       Options Indexes FollowSymLinks MultiViews

       AllowOverride All

      Order allow,deny

      allow from all

      Require all granted

</Directory>

来源http://acmeextension.com/remove-index-php-in-your-codeigniter-project/

答案 1 :(得分:0)

发生这种情况是因为.htaccess文件,我更喜欢为本地环境制作新的.htaccess文件,并添加以下代码。

RewriteEngine on

RewriteCond $1 !^(index\.php|assets|images|js|css|uploads|favicon.png)

RewriteCond %(REQUEST_FILENAME) !-f

RewriteCond %(REQUEST_FILENAME) !-d

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

答案 2 :(得分:-1)

更改$config['base_url'] = 'localhost/fixbud/';

这个

$config['base_url'] = 'http://localhost/fixbud/';

你的电话将是“fixbudd”控制器和方法“answer_forum”;