Переписать движок - Rewrite engine
Эта статья слишком полагается на Рекомендации к основные источники.Январь 2011 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
А переписать движок это программный компонент, который выполняет переписывание на Единые указатели ресурсов, изменяя их внешний вид. Эта модификация называется Перезапись URL. Это способ реализации Сопоставление URL или маршрутизация в пределах веб приложение. Двигатель обычно является компонентом веб сервер или же каркас веб-приложений. Переписанные URL-адреса (иногда называемые короткая, симпатичный или же причудливые URL, дружественный к поисковой системе - SEF URL-адреса или слизни ) используются для предоставления более коротких и релевантных ссылок на веб-страницы. Техника добавляет слой абстракция между файлами, используемыми для создания веб-страницы, и URL-адресом, который предоставляется внешнему миру.
использование
Веб-сайты с динамический контент может использовать URL-адреса, которые генерируют страницы с сервера, используя Строка запроса параметры. Они часто переписываются, чтобы напоминать URL-адреса для статические страницы на сайте с иерархия подкаталогов. Например, URL-адрес вики страница может быть:
http://example.com/w/index.php?title=Page_title
но можно переписать как:
http://example.com/wiki/Page_title
А блог может иметь URL-адрес, кодирующий даты каждой записи:
http://www.example.com/Blog/Posts.php?Year=2006&Month=12&Day=19
Его можно изменить так:
http://www.example.com/Blog/2006/12/19/
который также позволяет пользователю изменить URL-адрес, чтобы увидеть все публикации, доступные в декабре, просто удалив текст, кодирующий день «19», как если бы он перемещался «вверх» по каталогу:
http://www.example.com/Blog/2006/12/
Сайт может передавать специализированные термины из URL в свой поисковый движок как поисковый запрос. Это позволит пользователям выполнять поиск прямо из браузера. Например, URL-адрес, введенный в браузере адресная строка:
http://example.com/search термин
Будет urlencoded браузером, прежде чем он сделает HTTP-запрос. Сервер может переписать это так:
http://example.com/search.php?q=search%20term
Преимущества и недостатки
Эта секция возможно содержит оригинальные исследования.апрель 2013) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Использование перезаписи URL дает несколько преимуществ:[1]
- Ссылки более "чистые" и информативные, что делает их "удобнее" для обоих. пользователи и поисковые системы.
- Они предотвращают нежелательные "встроенная ссылка ", что может тратить впустую пропускная способность.
- Сайт может продолжать использовать те же URL-адреса, даже если базовая технология, используемая для их обслуживания, будет изменена (например, переключение на новую движок блогов ).
Однако могут быть и недостатки; если пользователь хочет изменить URL-адрес для получения новых данных, Перезапись URL может препятствовать построению пользовательских запросов из-за отсутствия именованных переменных. Например, может быть сложно определить дату в следующем формате:
http://www.example.com/Blog/06/04/02/
В этом случае исходная строка запроса была более полезной, поскольку переменные запроса указывали месяц и день:
http://www.example.com/Blog/Posts.php?Year=06&Month=04&Day=02
Веб-фреймворки
Многие веб-фреймворки включают перезапись URL-адресов напрямую или через модули расширения.
- HTTP-сервер Apache имеет перезапись URL, обеспечиваемую модулем mod_rewrite.[2]
- Перезапись URL доступна как расширение для Microsoft IIS.[3]
- Рубин на рельсах имеет встроенную функцию перезаписи URL через Routes.[4]
- Сервлет Джакарта имеет расширяемую перезапись URL-адресов с помощью OCPsoft URLRewriteFilter и Tuckey UrlRewriteFilter.
- Лица серверов Джакарты Упростил перезапись URL-адресов с помощью PrettyFaces: URLRewriteFilter.
- Джанго использует обычные выражения -система. Это не является строго переписыванием URL, поскольку нет сценария для «перезаписи» или даже структуры каталогов; но он обеспечивает полную гибкость перезаписи URL.[5]
- Ява Полосы рамки имеет интегрированную функциональность с версии 1.5.[6]
- Многие фреймворки Perl, такие как Mojolicious и Катализатор, есть эта функция.[7]
- CodeIgniter предусмотрена возможность перезаписи URL.
- lighttpd имеет модуль mod_rewrite.[8]
- nginx есть модуль перезаписи.[9][10] Например, создание страницы с несколькими ссылками и несколькими переменными из URI подобно / f101, n61, o56, d / ifconfig возможно, когда несколько отдельных частей, таких как f101 расширяться с помощью обычные выражения в переменные для обозначения FreeBSD 10.1-РЕЛИЗ и так далее.
- HTTP-сервер Hiawatha имеет набор инструментов URL, который поддерживает перезапись URL.[11]
- HTTP-сервер Cherokee поддерживает регулярные выражения перезаписи URL и перенаправления.
Из разработка программного обеспечения с точки зрения перспективы, переопределение URL-адресов может помочь в модуляции кода и поток управления,[12] что делает его полезной функцией современных веб-фреймворков.
Смотрите также
- Контроллер доставки приложений
- Менеджер трафика aiScaler
- .htaccess
- HTTP-сервер Apache
- Согласование содержания
- HTTP
- Информационный сервер в Интернете
- Постоянная ссылка
- Веб-сервер Zeus
Примечания
- ^ Многие из них применимы только к HTTP-серверам, поведение которых по умолчанию заключается в сопоставлении URL-адресов с файловая система объекты (т.е. файлы и каталоги); определенные среды, такие как многие HTTP сервер приложений платформы, сделайте это неактуальным.
- ^ документация по mod_rewrite
- ^ Расширение перезаписи URL для Microsoft IIS
- ^ «Маршрутизация рельсов извне внутрь». "Рубин на рельсах. Получено 25 апреля 2014.
- ^ Django URLconf
- ^ очистить URL-адреса в Stripes 1.5
- ^ Гиды - Mojolicious гид по галактике. Mojolicious. Проверено 8 сентября 2013.
- ^ Документы ModRewrite - Lighttpd - lighty labs. Redmine.lighttpd.net. Проверено 8 сентября 2013.
- ^ "ngx_http_rewrite_module - переписать". nginx.org. Получено 25 декабря 2014.
- ^ Муренин, Константин А. (18 февраля 2013 г.). «Динамический веб-сайт, полностью написанный на nginx.conf? Представляем mdoc.su!». [email protected] (Список рассылки). Получено 24 декабря 2014.
- ^ URL TOOLKIT - часть руководства по веб-серверу Hiawatha
- ^ "Чистый URL". DocForge. Получено 25 апреля 2014.
внешняя ссылка
- Apache mod_rewrite
- Apache mod_rewrite Полный список переменных и значений CGI для построения перезаписей.