0

我目前的开发是使用 CodeIgniter,当我尝试将一些参数传递给我的主控制器的索引函数时,它返回 me 404 error

http://localhost/gis/1 -> 404 ERROR
http://localhost/gis/home/1 -> 404 ERROR

实际上我的route.php文件有这样的路线:

$route['default_controller'] = "home";    

$route['home/([:num])'] = 'home/index/$1';

我的.htaccess文件是这样的(从这篇文章中删除了 CI url 中的 index.php):

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

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

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

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    # Submitted by: ElliotHaughin

    ErrorDocument 404 /index.php
</IfModule>

还有我的config.php文件:

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

$config['index_page'] = "";

我究竟做错了什么?谢谢!

4

1 回答 1

2

更新:

引用 OP:

.htaccess 没有罪。问题是我的路线需要是 $route['home/(:num)'] = ... 我添加了括号和所有作品。


而不是:

$route['home/([:num])'] = 'home/index/$1';

尝试像这样指定它:

$route['home/:num'] = 'home/index/$1';

还要确保从application/config/routes.php您的默认控制器设置为home

$route['default_controller'] = 'home';
于 2011-02-27T11:27:31.233 回答