我遇到了codeigniter URI路由问题。
我有这样的路线:
website.local /项/ SOMEINFORMATIONID / SOMECURRENCY
其中SOMEINFORMATIONID和SOMECURRENCY是URI参数。
问题是,当我调用website.local / terms / SOMEINFORMATIONID / SOMECURRENCY / SDFSDFSDFSD时
所以这意味着,我正在引入第三个参数,URI仍然有效,但我想要的是,当路由被“执行”超过2个参数时,得到404错误。
我试图在codeigniter文档中找到一些东西,但我找不到任何东西,无论如何我不知道我应该寻找什么(codeigniter uri参数有限等等)。
作为附加信息,我的路线在routes.php中看起来像这样:
$route['terms/(:any)/(:any)'] = 'xxx/terms/$1/$2';
如果您使用的是ci3,最后可以添加一条路线
$ route ['(. +)'] = 'error_page'; // all the url´s that you don't have before will display the error you want
在controller://检查段
$sdf= $this->uri->segment(4);
if ( ! empty($sdf)) $this->my404();
和功能
public function my404 () {
$this->output->set_status_header('404');
$data['error'] = 'Not Found...'
$this->smarty->view( 'error.tpl', $data);
}