Красивые или "человекопонятные" URL

Все мы хотим не только хорошего кода в наших приложениях, но и чтобы везде было красиво и понятно, это относится и к URL адресам.
/index.php?r=index/new&id=1&t=testings
Ну что тут сказать. в принципе нормально, данные получить можно, но смотриться некарсиво!
красивее было бы так
/index.php/post/1/testings
Уже лучше, чтобы так сделать нам нужно в конфиге нашего приложения подправить строку
 'urlManager'=>array(
            'urlFormat'=>'path', // это и нужно вписать.
            'showScriptName'=>true, // это для показа в адресной строке имени скрипта, в нашем случае index.php
        ),
Все хорошо, все красиво, но мы не хотим показывать наш входной скрипт, а зачем всем знать как он называется, да и вообще лишнее название в URL нам не нужно. Вывод убираем название файла
 'urlManager'=>array(
            'urlFormat'=>'path', 
            'showScriptName'=>false,
        ),
/post/1/testings
Красиво неправда ли? но... Все хорошо, но вот при обращении в какому-либо контроллеру, у нас выпадает ошибка, правда?! что не можем найти ничего похожего для контроллера. Это связано с тем что, файл то мы не показываем, но наши запросы должны идти через него. И как это сделать? Да просто, все мы знаем о существовании файла .htaccess. В нем мы можем настраивать правила для адресов, так давайте настроим.
RewriteEngine On
RewriteCond % !-d // перекидываем директории
RewriteCond % !-f // перекидываем файлы
RewriteRule ^(.*)$ index.php [L,QSA] // на файл index.php
Тем самым мы все наши параметры и обращения перекидываем на файл index.php он у нас входящий и все обрабатывает теперь когда мы набираем
/post/1/testings
У нас все отображается.
Написана: 13.06.2012 00:00 | Просмотров: 82
Никто не удосужился оставить свой след. Ты можешь стать первым!
Автор
Email
Комментарий
Введите код c картинки: