Модуль mod_rewrite, или выдаем желаемое за действительное

Здравствуй, читатель. Ты, наверное, сидишь и думаешь о том, что же это за модуль такой, mod_rewrite, и о чем тут вообще речь? Ничего сложного тут нет, и, прочитав статью до конца, ты в этом сам же и убедишься.

Все, наверное, хотят иметь свой сайт — если не каждый интернетчик, то большинство, как ни крути. Конечно, можно пойти простым путем, сделав на бесплатном хостинге пару HTML-страничек, и любоваться своим "произведением искусства", показывая его всем друзьям и думая, что уже достиг совершенства в веб-мастеринге. Но мы ведь не такие. Мы уже знаем, что такое PHP, MySQL и прочие модные слова, которыми пестрит весь Интернет. А еще мы уже умеем немного программировать на PHP и создавать простые скрипты как минимум. Кто еще не умеет этого делать — быстренько покупаем какой-нибудь самоучитель по PHP или читаем предыдущие выпуски КГ со статьями Андрея Кухарчика. Так вот, будем считать, что уровень подготовки в данном вопросе у тебя выше среднего, и ты сам можешь написать простенький скрипт управления сайтом.

Итак, ты уже имеешь твердое решение создать себе сайт, у тебя есть для этого набор скриптов, и ты почти счастлив. А почти, потому что для полноты ощущений тебе не достает сущей мелочи. Тебе не хватает красивых ссылок на страницы твоего сайта. Ведь, делая сайт на HTML, мы получали готовые странички, и на сайте это выглядело как сайт, а сделав сайт на PHP, разместив его уже на платном хостинге и купив красивое имя на домене второго уровня, мы получаем теперь сайт . В первом случае у нас была довольно конкретная ссылка с именем файла god.html, а теперь получаем некий абстрактный путь. Надо что-то делать, дабы иметь до конца солидный облик в Интернете. Но реализация языка PHP не позволяет этого сделать обычными средствами. Вернее, не сам язык, а непосредственно подход при создании сайтов на его основе. Почему так получается, пояснять не буду, а как этого избежать — расскажу. Для этого нужен только хостинг, работающий под сервером Apache, и модуль для этого самого Apache, именуемый mod_rewrite (теперь-то ты понял, что это за зверь;)). Mod_rewrite является замечательным модулем, который предоставляет "основанный на правилах механизм динамического изменения запрашиваемых URL'ов". Это действительно мощный инструмент, и поэтому его знание принципиально важно, если ты хочешь стать подлинным веб- мастером или веб-программистом. Любой уважающий себя хостинг имеет в своем распоряжении эти вещи. Модуль mod_rewrite поставляется с Apache, и для его включения надо всего лишь раскомментировать строку в файле настроек и перезапустить Apache (думаю, тут у тебя не возникнет никаких проблем;)). Итак, все вышеописанные инструкции выполнены, и модуль установлен. Перейдем к делу.

В этом случае и поисковику, и пользователю будет удобно понимать такие ссылки. Однако это всего лишь основы работы с модулем mod_rewrite. Если ты хочешь действительно сделать стоящий сайт, чтобы ссылки на нем действительно выглядели красиво, понятно и грамотно, то нужно уже заранее предусмотреть работу с самой CMS, работу ее разделов, категорий и т.д. Как вариант можно посмотреть на работу CMS у студии e.motion ( сайт ). В этой CMS как раз и организованы понятные человеку ссылки, которые генерируются динамически и четко показывают ему, где он находится на сайте. Аналогичные функции реализованы у многих систем управления сайтом. Например, если не лень разобраться в исходном коде Mambo CMS ( сайт ), то можно будет понять, как работает перезапись ссылок в этой Open Source системе. Также сам модуль mod_rewrite неплохо задокументирован в документации к серверу Apache (www.apache.org). И тебе было бы неплохо для начала почитать материалы на сайте SiteMaker ( сайт ).
Вопросы по статье жду на форуме Web-программирование ( сайт ).

Сергей Жуковский, Codeby.net team


Компьютерная газета. Статья была опубликована в номере 20 за 2005 год в рубрике del :: del

©1997-2021 Компьютерная газета