Skip to content

Instantly share code, notes, and snippets.

@keltstr
keltstr / protected.components.UrlManager.php
Last active April 27, 2016 13:21
File:: protected/components/UrlManager.php::RUSSIAN DESCRIPTION::Расширяет возможности базового класса CUrlManager.Делается проверка запроса Url на обращение к нему по его дубликату с использованием имени файла входного скрипта(обычно index.php).При выявлении дубликата Url делается редирект на оригинальный Url ЛИБО отдает ошибку HTTP 404 (в зави…
<?php
class UrlManager extends CUrlManager{
/**File:: protected/components/UrlManager.php (Yii v1.1.14 compatible . May be less...)
::RUSSIAN DESCRIPTION::
В Yii наши URL по-умолчанию выглядят так http://site.com/index.php?param1=a или http://site.com/index.php/param1/a, но обычно мы хотим избавится от имени входного скрипта(index.php) в URL.
И для этого устанавливаем в настройках параметр 'URLManager'=>array(...,'showScriptName' => false,...), но этот способ работает только для формирования и приема URL(http://site.com/param1/a).
Но по-прежнему позволяет обращаться к нашему адресу по его старому значению http://site.com/index.php/param1/a .
ЭТОТ СКРИПТ закрывает эту маленькую огрешность - т.е. не разрешает обращаться к URL в котором по-прежнему присутствует имя входного скрипта после site.com