假 URL 起酥油

Fake 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),而不是 'shortened' URL.

我将如何调整代码来执行上述操作?

Router::connect 是一种将一条路线连接到另一条路线的方法,无需完全重定向。

如果您想要重定向用户并向他们公开,您可以使用 Router::redirect()。它会自动设置 301 状态。

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