Přeskočit na obsah

Rewrite engine

Z Wikipedie, otevřené encyklopedie
(rozdíl) ← Starší revize | zobrazit aktuální verzi (rozdíl) | Novější revize → (rozdíl)

Rewrite engine (přepisovací engine) je modul (volitelná část, která se spustí po překompilování nebo změně nastavení) webserveru, 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ší rysy 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) nebo trvalé či dočasné přesměrování adres/domén.

Některé přepisovací enginy

Apache HTTP server od Apache Software Foundation

  • 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

HttpModule pro Microsoft ASP.NET

Java 2 Platform, Enterprise Edition (J2EE) tzv. servery servlet contejnerů (jako Apache Tomcat, Resin, Orion atd):

Odkazy

Zdroj

V tomto článku byl použit překlad textu z článku Rewrite engine na anglické Wikipedii (číslo revize nebylo určeno)Šablona {{Překlad}} požaduje zadat hodnotu do parametru „revize“!.

Reference

  1. Více o http status kódech na [1]