2

次のコードを使用して、CakePHP/my-old-url/$slugにリダイレクトしようとしています。/news/$slug

Router::redirect(
    '/my-old-url/*',
    array('controller' => 'news', 'action' => 'view'),
    array('persist' => true)
);

このコードを使用するとエラーがスローされます (バグでしょうか?)

警告 (2): foreach() に無効な引数が指定されました [CORE/Cake/Routing/Route/CakeRoute.php、381 行目]

public function persistParams($url, $params) {
    foreach ($this->options['persist'] as $persistKey) {

次のコードを試しても機能しません。

Router::redirect(
    '/my-old-url/:slug',
    array('controller' => 'news', 'action' => 'view'),
    array('persist' => array('slug'))
);

/news/viewこのコードは、パラメーターなしでmy にリダイレクトします。

次のコードを使用して、ニュース URL を接続します。

Router::connect('/news',
    array('controller' => 'news', 'action' => 'index')
);
Router::connect('/news/:slug',
    array('controller' => 'news', 'action' => 'view'),
    array('pass' => array('slug'))
);

何をすべきか?

4

3 に答える 3