Псевдостатика (ModRewrite). Часть 2 |
||||
---|---|---|---|---|
В предыдущей части статьи мы рассмотрели основные принципы работы mod_rewrite. В этой статье будут рассмотрены общие случаи использования mod_rewrite и его возможностей. Как я уже говорил раньше, mod_rewrite используется для преобразования запросов к серверу вида http://site.net/?dir=general&s=53 на http://site.net/general/53/. Это преобразование выполняется с помощью простого правила записанного в .htaccess:
Надеюсь, это все усвоили. Переходим к более сложным преобразованиям. Но для начала перечислю основные принципы при составлении правил для mod_rewrite:
Mod_rewrite предоставляет еще очень много чего интересного, например он может определять тип браузера и в зависимости от него выдавать нужную страницу:
Для написания своего правила нужно немного:
Делается это очень просто, например, у вас есть сайт, на котором вы что-либо продаете. И вам и вашим клиентам было бы гораздо удобнее запоминать названия каталогов сайта, нежели переменные и их параметры. Поэтому предположим, что ваш будущий сайт должен иметь такую структуру: +-----example.com Но создавать все эти директории не обязательно, проще воспользоваться mod_rewrite. Для этого в корне сайта создаем файл .htaccess и в него пишем следующее:
Теперь при запросах вида http://example.com/articles/category1/article12 будет вызываться http://example.com/index.php?module=articles&category=category1&id=article12 Но можно поступить и по-другому:
В этом случае все входящие параметры должен будет обрабатывать index.php. Делается это так: <?php И в результате выполнения скрипта мы получим все параметры, полученные при разбиении запроса. Например, запрос: http://example.com/articles/category1/article12.htm после обработки скриптом в массиве $params будет содержаться следующее: Array А дальше уже все просто, в зависимости от параметра [0] выбираем тот модуль, который нам нужен и грузим его. Продолжение следует. В следуещей части будут рассмотренны более конкретные случаи. Если у вас есть вопросы или дополнения, или вы просто с чем-то не согласны пишите мне на [email protected] и заходите на мой сайт http://www.gid.gorodok.net/ |