FuelPHP是否有可能不允许路线的右侧?

时间:2012-04-01 06:52:45

标签: php fuelphp fuelphp-routing

config/routes.php

<?php
return array(
    'account/profile/change_password'  => 'users/account/change_password',
);

我可以在浏览器中访问site.com/users/account/change_passwordsite.com/users/account/change_password

有没有办法将它限制在左侧(即site.com/users/account/change_password)?

2 个答案:

答案 0 :(得分:1)

仅通过特定路由,例如将其路由到与_404_控制器相同的位置。当然你也可以为整个控制器做这件事:

'users/account(/:any)' => 'my/404/route',

这样,直接调用此控制器将始终转到您的404.

当然,如果您的路线以':any' => 'catch/everything/$1'之类的外卡路线结束,则无需执行此操作。

答案 1 :(得分:0)

完成:如果您只想允许HMVC调用,但不允许URI访问,您也可以在控制器本身中捕获它。在before()方法中(对于整个控制器)或在各个方法中:

// throw a 404 if accessed via the URI
if ( ! \Request::active()->is_hmvc())
{
    throw new \HttpNotFoundException();
}