Модуль mod_rewrite. Часть 1Вы наверняка встречали в сети термин «mod_rewrite». Для наших читателей, которые не до конца знакомы с этим модулем веб сервера Apache, а также для тех, кто вообще первый раз об этом слышит — постараюсь рассказать в этой публикации (в нескольких частях) подробнее о данном модуле. Модуль mod_rewrite является программным модулем веб сервера Apache (обратите внимание, что он не будет выполняться под другими веб-серверами). Его первичная функция — манипуляция действий с URL. Модуль очень универсален и разносторонен, поэтому я постараюсь Mod_rewrite является замечательным модулем, который предоставляет основанный на некоторых правилах механизм динамического изменения запрашиваемых ссылок. Это действительно мощный инструмент, и поэтому, его знание принципиально важно, если вы хотите стать подлинным веб мастером или веб программистом. Не столько принципиально, будете ли вы использовать его в своей работе, сколько важно то, что вы знаете, что он может делать, и сможете поведать об этом своему боссу, когда появится желание сделать что-нибудь странное с веб сервером. Однако нужно быть очень осторожным и даже дотошным при работе с этим модулем! Некоторые ошибки, которые Вы способны допустить, могут привести к логической петле, причиняя непрекращающуюся 100%-ую загрузку ценрального процессора (CPU). Чтобы не казаться пространным в рассуждениях, приведу некоторые очень простые примеры. Прежде, чем мы сможем приступить к работе, Вы должны будете проверить, установлен ли модуль на вашем веб сервере или нет. Есть несколько способов проверить это: Теперь давайте копнем поглубже и посмотрим первый практический примерчик. Предположим, что Вы будете использовать mod_rewrite только для вашего собственного сайта, то есть не как обобщенную перекрестную установку сервера. Для нашего примера потребуется использование файла .htaccess. Для работы этого метода, вы должны загрузить файл под названием «.htaccess» (пожалуйста, обратите внимание на точку в начале имени файла!) в папку сервера, с которой Вы будете работать. Это можно сделать через telnet или ftp. (Предупреждение: .htaccess должен быть загружен в 'режиме ASCII', то есть не в двоичном режиме!) Если у Вас уже имеется файл «.htaccess», например со следующими записями:
то просто добавьте снизу наш образец кода к уже существующему (важно: Первые две записи запустят сам модуль:
Совет: запись «RewriteEngine off» отменит все последующие команды. Это Если ваш системный администратор запрещает Вам использование «Options Следующая необходимая запись:
«/» является корневым (основным) URL. Если у вас какой-то другой URL, то вы можете указать это в данной директиве, однако «/» - обычно эквивалентно адресу «h t t p://домен.ru». А теперь, господа, перейдем к более интересным записям! Предположим, что вы хотите защитить от несанкционированного доступа Чтобы блокировать этот доступ, запишем следующее:
Это правило переводится так: Если кто-то пробует обращаться к файлу .htaccess, система должна выдать код ошибки «HTTP response of 403» или «403 Forbidden - You don't have permission to access /.htaccess on this server». Конструкция ^.htaccess$ в этом регулярном выражении означает: В этом примере, файл «.htaccess» теперь будет состоять из таких строк:
Если мы добавим наш код (в примерах) к существовавшему ранее файлу «.htaccess», то получим следующую конструкцию:
Это введение затрагивает лишь основы, требуемые для того, чтобы работать с модулем mod_rewrite. Во второй части этой обучающей серии статей постараюсь объяснить использование различных условий в конфигурировании модуля. sitemaker.ru Поделитесь этой записью или добавьте в закладки | Полезные публикации |