Введение

Компонент веб-сервера для сопоставления URL-адресов.

В веб-приложениях движок перенаправления (rewrite engine) — это программный компонент, который выполняет перенаправление URL-адресов (Uniform Resource Locators), изменяя их вид. Эта модификация называется перенаправлением URL. Это способ реализации сопоставления URL или маршрутизации в веб-приложении. Движок обычно является компонентом веб-сервера или веб-фреймворка. Перенаправленные URL-адреса (иногда известные как короткие, удобные, или "красивые" URL, дружественные поисковым системам URL SEF, или слаги) используются для предоставления более коротких и более понятных ссылок на веб-страницы. Эта техника добавляет уровень абстракции между файлами, используемыми для генерации веб-страницы, и URL-адресом, который представлен внешнему миру.

Веб-фреймворки

Многие веб-фреймворки включают переписывание URL-адресов, либо непосредственно, либо через модули расширения. Apache HTTP Server предоставляет переписывание URL с помощью модуля mod_rewrite. URL Rewrite доступен как расширение для Microsoft IIS. Ruby on Rails имеет встроенное переписывание URL через Routes. Jakarta Servlet обеспечивает расширяемое переписывание URL-адресов с помощью OCPsoft URLRewriteFilter и Tuckey UrlRewriteFilter. Jakarta Faces упрощает переписывание URL-адресов с помощью PrettyFaces: URLRewriteFilter. Django использует систему, основанную на регулярных выражениях. Это не совсем переписывание URL, поскольку отсутствует скрипт для перенаправления или даже структура каталогов, но оно обеспечивает полную гибкость переписывания URL. Java Stripes Framework имеет встроенную функциональность, начиная с версии 1.5. Многие Perl-фреймворки, такие как Mojolicious и Catalyst, обладают этой функцией. CodeIgniter предоставляет возможность переписывания URL. lighttpd имеет модуль перезаписи mod_rewrite. nginx имеет модуль перезаписи. Например, возможно создание многокомпонентной многопеременной страницы из URI вида , где несколько отдельных частей, например, , расширяются с помощью регулярных выражений в переменные для обозначения и так далее. HTTP-сервер Hiawatha имеет URL Toolkit, поддерживающий переписывание URL. HTTP-сервер Cherokee поддерживает регулярные выражения для переписывания URL и перенаправлений. С точки зрения разработки программного обеспечения, переписывание URL-адресов может способствовать модульности кода и управлению потоком управления, что делает его полезной функцией современных веб-фреймворков.