[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: 301 редирект yii2
svkpro
Здравствуйте, все.
В Yii2 новичок, а проблему решить надо, помогите плиз.
Ссылки в Yii по-умолчанию не защищены от дублей. Т.е, добавив к ссылке любой get-параметр, мы получим ту же самую страницу, но по другому URL.
Например
Две ссылки
site.com/index.php?r=controller/action&id=7
site.com/index.php?r=controller/action&id=7&param=1
Открывают одну страницу
Подскажите, пожалуйста, как сделать так, чтобы каждая страница сайта открывалась только по 1 уникальному адресу, а все остальные ссылки редиректили на этот адрес
Т.е :
site.com/index.php?r=controller/action&id=7 - откроет страницу
site.com/index.php?r=controller/action&id=7&param=1 - приведет к 301-му редиректу на первый адрес
Большое спасибо.
kristall
В beforeAction определи. Но какой смысл делать редирект, ты же при нем потеряешь дополнительные параметры. Лучше укажи в лейауте каноничный урл.

https://support.google.com/webmasters/answer/139066?hl=ru

Специально для таких случаев придумано.

_____________
echo '<pre>',print_r($var, 1);die;

root@server# make love && war
M-A-X
А зачем Вы сначала наплодили этих ссылок, а теперь просите от них избавиться?
inpost
svkpro
1. Указать rel canonical , этого хватит.
2. Дублей не существует, пока ссылка на дубль отсутствует. Не парь мозги.
3. Подправь код таким образом, чтобы если ссылка некорректная, то был 301 редирект на нужную. Системно это нельзя сделать, только ручками код пиши)

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.