我有一个小问题。我正在使用Codeigniter 2.1.0,我在routes.php中有以下代码。
$route['default_controller'] = "photo";
$route['404_override'] = 'error';
$route['photo/:num'] = 'photo/index/$1';
$route['people/:num'] = 'people/index/$1';
奇怪的是,有时候当我去http://www.myurl.com/photo/1它有效时,它会将我重定向到我的错误页面。
任何maby都知道我的路线有什么问题吗?
已提前感谢!
鲍勃
答案 0 :(得分:1)
这不正确
$route['photo/(:num)'] = 'photo/index/$1';
$route['people/(:num)'] = 'people/index/$1';
你必须写这条路线
$route['photo/(:num)'] = 'photo/$1';
$route['people/(:num)'] = 'people/$1';
以这种方式只允许号码。
索引不是必需的。
答案 1 :(得分:0)
不确定是否是这种情况,但您可能希望在通配符周围加上括号:
$route['default_controller'] = "photo";
$route['404_override'] = 'error';
$route['photo/(:num)'] = 'photo/index/$1';
$route['people/(:num)'] = 'people/index/$1';
答案 2 :(得分:0)
在Codeigniter中使用路由时,请不要忘记.htaccess文件
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
并删除config.php文件$config['index_page'] = '';