Поддельный URL Shortener

Я хочу перенаправить www.myhost.com/g/:id в www.myhost.com/jobs/view/:id, В настоящее время следующий код делает это хорошо:

$routes->connect(
    '/g/:id',
    ['controller' => 'Jobs', 'action' => 'view'],
    ['pass' => ['id'], 'status' => 301, 'persist' => ['id']]
);

Тем не менее, в адресной строке он все еще показывает www.myhost.com/g/:id, Я бы хотел, чтобы он показывал полный URL (www.myhost.com/jobs/view/:id), а не "сокращенный" URL.

Как бы я настроить код, чтобы сделать выше?

1 ответ

Решение

Router::connect - это способ соединения одного маршрута с другим без полного перенаправления.

Если вы хотите перенаправить пользователя и раскрыть его, вы можете использовать Router:: redirect (). Он автоматически установит статус 301.

$routes->redirect(
    '/g/:id', 
    ['controller' => 'Jobs', 'action' => 'view'], 
    ['pass' => ['id'], 'persist' => true]
);
Другие вопросы по тегам