【发布时间】:2012-01-05 10:07:37
【问题描述】:
我正在尝试使用 Codeigniter 设置到我网站上某个页面的路由,但我只收到 403。我不明白为什么。
路由配置文件中的代码是:
$route['photo/(:num)'] = "viewphoto/view/$1";
$route['photo'] = 'photo';
$route['photos'] = "photospage/index";
$route['photos'] = 'photos';
$route['default_controller'] = 'homepage';
$route['homepage'] = 'homepage';
当访问 mysite.com/photo/2(例如)时,它可以正常工作,主页也是如此。但是当我访问 mysite.com/photos 时,我只会收到 403 Forbidden 错误消息。
我无法解决,路由设置为与 mysite.com/photo/2 路由完全相同。
它指向的控制器叫做photopage,里面的函数叫做index。
如果我访问 mysite.com/photos/index,它可以工作...
非常感谢任何帮助:)
编辑:
将路由配置文件更改为以下内容,但当我转到 mysite.com/photos 时它仍然无法正常工作。我将控制器功能更改为“视图”而不是“索引”,但它仍然无法工作:(
$route['photos'] = "photos/view";
$route['photo/(:num)'] = "viewphoto/view/$1";
$route['default_controller'] = 'homepage';
主页和照片/$id 仍然可以正常工作。
【问题讨论】:
-
默认情况下,如果在没有函数的情况下调用控制器,它将自动运行索引函数。还有为什么你有两条照片路线?
-
因为一个是 mysite.com/photos 的路由,它显示一个充满缩略图的页面,另一个是 mysite.com/photo/$id,它在用户点击一个特定的照片页面时显示缩略图。
-
我认为您可能会混淆 CI。第二组规则有 $route['photos'] 指向不同的控制器,它应该如何知道选择哪个?
-
即使 $route['photos'] 有 1 条路线,它仍然无法工作。仍然出现 403 错误。
标签: codeigniter