Rewrite engine
Rewrite engine (přepisovací engine) je modul (volitelná část, která se spustí po překompilování nebo změně nastavení) webovém serveru, který umožňuje:
- vyhodnocovat cílová URL, vyžadovaná na daném webserveru, a
- přesměrovávat požadavky serveru
- zasílat třímístný tzv. HTTP Status Code serveru (např. 200 – OK, 404 – Not Found,…[1])
- zamezit nebo naopak povolit přístup z definovaných adres a vytvářet tato pravidla pro různé soubory, skupiny souborů nebo adresáře
a případně další
Jednodušší přepisovací enginy některé z těchto pokročilých funkcí nemají, ale vždy by měly být schopny alespoň přesměrovávat požadavky, které dorazí na server. Naopak složitější přepisovací enginy nabízejí další možnosti (vnitřní proměnné serveru, časové údaje) a testování, zda příchozí požadavek patří mezi URL dané podmínkou, probíhá pomocí regulárních výrazů.
Přepisovací engine většinou pracuje podle obsahu speciálního souboru, který může být umístěn v každém adresáři na webserveru (většinou se nazývá .htaccess). Tento soubor (skript) může obsahovat:
- podmínky pro výběr požadované adresy
- pravidla pro požadavky, které splňují podmínku
- direktivy, popř. další prvky skriptu
Typickými aplikacemi použití přepisovacích enginů jsou tzv. clear url (user-friendly url, fancy url, „uživatelsky přívětivé url“ pro podporu SEO), vlastní zpracování chybových HTTP kódů nebo vyřízení trvalého přesměrování stránek (bez nutnosti existence jejich obsahu).
Některé přepisovací enginy
Apache HTTP server od Apache Software Foundation
- mod rewrite, mod_rewrite pravděpodobně celosvětově nejpoužívanější přepisovací engine.
- mod_alias jednodušší modul pro manipulaci a kontrolu nad požadavky, které dorazí na server.
Internet Information Server (IIS) od Microsoftu
- IIS Mod-Rewrite od Micronovae
- IISRewrite od Qwerksoft
- ISAPI_Rewrite od isapirewrite.com
- URL Replacer od Motobit
- Ionic's ISAPI Rewrite Filter (IIRF) (open source) od Ionic Shade.
HttpModule pro Microsoft ASP.NET
- UrlRewriter.NET Free, open-source package. Supports .NET 1.1 and 2.0.
- URLRewriting.NET, free and open source supports, ASP.NET 2.0
- VirtualUrl.NET for ASP.NET 2 Professional URL rewriting package.
Java 2 Platform, Enterprise Edition (J2EE) tzv. servery servlet contejnerů (jako Apache Tomcat, Resin, Orion atd):
- HttpRedirectFilter (open source)
- UrlRewriteFilter (open source – BSD) – umožňuje přepsat URL předtím než se dostanou k serveru
Odkazy
Reference
V tomto článku byl použit překlad textu z článku Rewrite engine na anglické Wikipedii.
- Status kódy na w3.org