Не первый раз спрашивают как убрать дубликаты URL в приложении на Yii при использовании красивых URL и showScriptName = false
. Yii при включении данной опции генерирует все URL как надо, но позволяет обращаться к страницам и так и так:
http://example.com/blog/tag/Yii
http://example.com/index.php/blog/tag/Yii
На самом деле никакой проблемы в этом нет потому как ни одной ссылки на второй тип URL не будет и он, соответственно, не проиндексируется. Но так как вопросы поступают и SEO-шники настаивают, вот ответ в виде gist.
Сохраняем в виде protected/components/DuplicateFilter.php
, прописываем в метод filters
контроллеров и забываем о проблеме.