Я создал новый сайт для компании, и я хотел бы, чтобы все предыдущие результаты поисковой системы были перенаправлены. Поскольку было довольно много страниц, и большинство из них, где использование идентификатора, я хотел бы использовать что-то общее вместо повторной маршрутизации всех старых страниц.CakePHP, Маршрут старых результатов поиска google на новую домашнюю страницу
Моя первая мысль была сделать:
Router::connect('/*', array('controller' => 'pages', 'action' => 'display', 'home'));
И положить, что в самом конце файла routes.php [так как он имеет приоритет] так, что все запросы не проверки с предыдущими действиями маршрута вернется с этим и вернется на главную страницу.
Однако это не работает.
Когда я использую другой путь на маршрутизаторе, он перенаправляется успешно. Например, если я даю это:
Router::connect('/*', array('controller' => 'projects', 'action' => 'browser'));
это прекрасно работает. Проблема возникает тогда, когда контроллер используется страницы, дисплей действия и т.д.
Я вставив мой routes.php файл [так как он мал] в надежде, что кто-то может дать мне подсказку:
Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));
Router::connect('/company/*', array('controller' => 'articles', 'action' => 'view'));
Router::connect('/contact/*', array('controller' => 'contacts', 'action' => 'view'));
Router::connect('/lang/*', array('controller' => 'p28n', 'action' => 'change'));
Router::connect('/eng/*', array('controller' => 'p28n', 'action' => 'shuntRequest', 'lang' => 'eng'));
Router::connect('/gre/*', array('controller' => 'p28n', 'action' => 'shuntRequest', 'lang' => 'gre'));
Router::parseExtensions('xml');
Что происходит при подключении/* к Страницам :: дисплея? –
Я бы, наверное, попытался решить это в htaccess с регулярным выражением и выдать 301 –
#Travis Leleu, он получает это сообщение: «Не найдено Ошибка: запрошенный адрес '/ asdasdf' не найден на этом сервере." – ion