Redirection & Apache Virtual Host files: verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
(Nieuwe pagina aangemaakt met 'Redirect worden in Apache verzorgd middels de ''mod_alias''- en ''mod_rewrite''-modules. Eenvoudige redirect zoals <oude pagina> → <nieuwe pagina>, gaan met de ''...')
 
Regel 35: Regel 35:
 
</pre>
 
</pre>
  
 +
== RedirectMatch Directive ==
 +
 +
Met de ''RedirectMatch Directive'' kun je redirects vormen met behulp van reguliere expressies en substituties. Het is een stuk flexibeler dan gewone redirects, maar nog niet zo flexibel als de ''mod_rewrite Redirects'' uit het volgende hoofdstuk.
 +
 +
== mod_rewrite Redirects ==
 +
 +
''mod_rewrite''-redirects zijn de meest flexibele redirects. Ze zijn ook het meest complex:
 +
 +
* Per redirect moeten de voorwaarden gedefineerd worden, waaronder de betreffende redirect actief is
 +
* Redirects kennen een ''precedence'', waarmee je kunt aangeven welke regels belangrijker zijn. Zo kun je bv. zorgen dat meer specifieke regels belangrijker zijn dan meer algemene regels.
  
 
== Bronnen ==
 
== Bronnen ==

Versie van 12 mei 2020 08:48

Redirect worden in Apache verzorgd middels de mod_alias- en mod_rewrite-modules. Eenvoudige redirect zoals <oude pagina> → <nieuwe pagina>, gaan met de mod_alias-module.

302 Redirect Directive

De Redirect directive is onderdeel van mod_alias. Voorbeeld [1]:

<VirtualHost *:80>
   ServerName www.domain1.com
   Redirect / http://www.domain2.com
</VirtualHost>
  • Hierbij wordt de root van domain1.com doorgestuurd naar domain2.com
  • Let op: Dit is een 302 redirect oftewel een temporary redirect

301 Redirect Directive

Als hierboven, maar nu als permanent redirect:

<VirtualHost *:80>
   ServerName www.domain1.com
   Redirect 301 / http://www.domain2.com
</VirtualHost>

of

<VirtualHost *:80>
   ServerName www.domain1.com
   Redirect permanent / http://www.domain2.com
</VirtualHost>

RedirectMatch Directive

Met de RedirectMatch Directive kun je redirects vormen met behulp van reguliere expressies en substituties. Het is een stuk flexibeler dan gewone redirects, maar nog niet zo flexibel als de mod_rewrite Redirects uit het volgende hoofdstuk.

mod_rewrite Redirects

mod_rewrite-redirects zijn de meest flexibele redirects. Ze zijn ook het meest complex:

  • Per redirect moeten de voorwaarden gedefineerd worden, waaronder de betreffende redirect actief is
  • Redirects kennen een precedence, waarmee je kunt aangeven welke regels belangrijker zijn. Zo kun je bv. zorgen dat meer specifieke regels belangrijker zijn dan meer algemene regels.

Bronnen