В этом уроке мы расскажем о mod_rewrite, его возможностях и вариантах применения.
Описание значения
Mod_rewrite – это вид модуля интернет сервера Апаче (Apache). Он используется для перенаправления контента с других страниц во время перехода по определенному URL. К примеру, если пользователь введет в соответствующей строке:
http://www.пример.ru/page11.html
апаче направит его на страницу page11.html, но если mod rewrite включить , то он выдаст контент совершенно другой страницы, к примеру:
http://www.пример.ru/page12.html
Стоит отметить, что смена адреса осуществляется непосредственно в сервере Апаче, а это значит, что url остается тем, которое вводил пользователь (в нашем случае: http://www.пример.ru/page11.html), а сам контент передается с абсолютно другой страницы. Это и есть основное отличие этого модуля от перенаправления HTTP, несмотря на возможность перенастройки mod_rewrite на перенаправление на разные url.
Возможности модуля:
- Маскировка некрасивых, сложных адресов URL;
- Блокировка возможности копирования картинок с ресурса;
- Избегание системной ошибки во время сайтовой реконструкции;
- Перенаправление на страницу по каноническим URL.
Как применять
Mod_rewrite покажется трудным тем, кто только начинает осваивать этот модуль, но разобравшись в базовых принципах механизма, можно добиться эффективного результата. Для указаний функций модуля необходимо создать установки конфигурации в Apache. Вносить изменения необходимо в текстовом документе .htaccess, который расположен в корне сайта.
Основные конфигурации mod_rewrite:
- RewriteRule: отвечает за правило редактирования URl;
- RewriteEngine: активирует или дезактивирует модуль под запрос текущего.
Покажем принцип работы модуля. Создаем документ .htaccess, размещаем в нем текст, который указан ниже и выкладываем на интернет ресурс.
RewriteEngine on
RewriteRule ^page.html$ http://www.yandex.com/ [R=301]
В первой строке мы активировали работу модуля, а во второй сделали трансфер запросов страницы page.html на yandex.com, используя 301 перенаправку.
Если во время перехода у вас выскочила системная ошибка, то скорей всего хостинговый провайдер не поддерживает mod_rewrite. Обратитесь в администрацию компании, которая предоставляет вам услуги хостинга.
Сегодня мы в общих чертах рассмотрели модуль mod_rewrite и узнали его основные задачи и возможности. Надеемся, вы все усвоили.