我有这个网址: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
答案 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”;