Возможно ли, что FuelPHP не пропустит правую сторону маршрута? - PullRequest
0 голосов
/ 01 апреля 2012

В config/routes.php

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

Я могу получить доступ к site.com/users/account/change_password и site.com/users/account/change_password в браузере.

Есть ли способ ограничить его только левой стороной (т.е.site.com/users/account/change_password)

Ответы [ 2 ]

1 голос
/ 01 апреля 2012

Только путем конкретной маршрутизации, например, путем маршрутизации в то же место, что и ваш _404_ контроллер. Конечно, вы также можете сделать это для всего контроллера:

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

Таким образом, прямой вызов на этом контроллере всегда будет идти к вашему 404.

Конечно, если ваши маршруты заканчиваются символами подстановки, такими как ':any' => 'catch/everything/$1', вам не нужно это делать.

0 голосов
/ 11 июня 2013

Для завершения: если вы хотите разрешить только вызовы HMVC, но не иметь доступа к URI, вы также можете перехватить его в самом контроллере. Либо в методе before () (для всего контроллера), либо в отдельных методах:

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