限制URI codeigniter中的参数

问题描述 投票:1回答:2

我遇到了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';
php codeigniter
2个回答
0
投票

如果您使用的是ci3,最后可以添加一条路线

$ route ['(. +)'] = 'error_page'; // all the url´s that you don't have before will display the error you want

2
投票

在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);
 }
© www.soinside.com 2019 - 2024. All rights reserved.