Эта статья была написана мной во время разработки нового
движка для сайта.
Как и все пользователи интернета, я с
некоторого времени (примерно год назад) стал замечать, что все больше и
больше популярных сайтов переходят от url вида
http://site.net?pid=general&id=5&s=98465на псевдостатику или на ЧПУ (Человеку Понятный УРЛ), т.е. вместо
http://site.net?pid=general&id=5&s=98465
в строке браузера будет что-то похожее на
http://site.net/general/45/5/98465/. И я стал искать документацию о том,
что пока не понимал. Нашел пару статей, в которых подобное делалось с
помощью .htaccess и 404 ошибки, но это было не
совсем то, что мне нужно и тогда мне случайно попалась документация по
mod_rewrite.
mod_rewrite – это специальный модуль
для серверов Apache, который был специально сделан
для создания сайтов с ЧПУ. Он был написан в апреле 1996 года и эксклюзивно
подарен The Apache Groupв июле 1997. Модуль представляет собой библиотеку расширения для
серверов типа Apache. Находится в папке modules,
в корневой папке апача и называется обычно mod_rewrite.so
(устанавливается отдельно). С помощью mod_rewriteможно всего парой строк в .htaccessсделать понятный для человека url. Для
упрощения всех команд и правил этот модуль использует
Perl-совместимые регулярные выражения. Например, при использовании
следующего правила:
Запрос вида http://site.net/shop/50/
будет рассматриваться сервером как
http://site.net/index.php?dir=shop&s=50
и плюс ко всему контроль ввода значений, а это уже какая-никакая, но защита.
Т.к. переменной dir может быть присвоено толь
значение из латинских букв, исключая символы, а переменной s только
целочисленные значения.
Для установки mod_rewrite
вам нужно его сначала где-нибудь скачать, поищите в
yandeks’е “mod_rewrite”,
обязательно найдете. Затем, открываете папку с модулями апача, у меня это
usr/local/apache/modules/ и копируете туда mod_rewrite.so. Затем
заходите в папку usr/local/apache/conf/ и открываете httpd.conf,
находите строчку #LoadModule rewrite_module modules/mod_rewrite.so и
убираете #. Если такой строчки нет, то добавляете эту строчку в любое
место. Затем ниже дописываете RewriteEngine On,
для того, что бы это все работало. А что бы изменения вступили в силу вам
необходимо перезапустить сервер.
Если у вас нет прав доступа к файлам
apache, тогда обращайтесь к своему хостеру с
просьбой или требованием (в случае если у вас платный хостинг) установить
активировать модуль mod_rewrite.so.
И еще один совет на последок, прежде чем
вносить изменения в httpd.conf, настоятельно рекомендую сделать его
резервную копию, а то мало ли что.
О том, как применять mod_rewrite
в программировании и создании сайтов читайте в следующей части
статьи.
Если у вас есть вопросы или дополнения, или вы просто с чем-то не
согласны пишите мне на gid87@mail.ru и
заходите на мой сайт http://wm-help.net/
Когда Вы пишите простенькую гостевую книгу, или счетчик, прибавляющий 1, к предыдущему значению, Вы, как правило, используете один-два файла не связанные друг с другом. Но однажды возникает необходимость разделять программу на несколько частей, причем одна часть вызывается другой... подробнее
В предыдущей части статьи мы рассмотрели основные принципы работы mod_rewrite. В этой статье будут рассмотрены общие случаи использования mod_rewrite и его возможностей... подробнее
Эта статья была написана мной во время разработки нового движка для сайта.
Как и все пользователи интернета, я с некоторого времени (примерно год назад) стал замечать, что все больше и больше популярных сайтов переходят от url вида http://site.net?pid=general&id=5&s=98465 на псевдостатику или на ЧПУ (Человеку Понятный УРЛ)... подробнее
Во многих информационных материалах, которые мне когда-либо приходилось читать об этом служебном файле веб-сервера Apache, говорилось, в основном, о том, как правильно сконфигурировать сервер для качественной работы сайта... подробнее
Многие начинающие веб-мастера встречаются с проблемой обработки длинных адресов в строке браузера. Например, у вас есть динамическая страница, которая обрабатывает запросы на скачивание файлов... подробнее