[Из песочницы] Ещё немного о mod_rewrite

Хабы: Apache

Иногда, в создаваемых веб-приложениях необходимо использовать фронт-контроллер, использующий человечески-понятную строку запроса. Как правило, начинающие PHP-программисты делают при этом перенаправление всей строки запроса в нужный скрипт. Например, так:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L,QSA]


Что эти строчки означают:
1 — включаем mod_rewrite
2 — условие, что все существующие папки не будут обрабатываться регулярным выражением
3 — условие, что все существующие файлы не будут обрабатываться регулярным выражением
4 — регулярное выражение, в нашем случае — при любой строке запроса будет открывать index.php, добавляя её (строку запроса) в $_SERVER['REQUEST_URI'].

Несмотря на то, что данный пример легко найти в любом поисковике за полторы минуты, и он при этом прекрасно работает, хотелось бы отметить один нюанс для начинающих PHP-программистов.
Читать дальше →

Полный текст статьи читайте на Habrahabr.ru