mod-rewriteAan de slag met mod-rewrite


Opmerkingen

mod_rewrite is een module voor Apache. Deze module wordt gebruikt voor interne herschrijvingen (externe aanvragen die een andere bron moeten laden) en externe omleidingen (externe aanvragen die de client een andere URL moeten laten aanvragen).

mod_rewrite biedt een fijnere controle over interne herschrijvingen dan mod_alias , omdat deze laatste alleen aanvragen aan bestandsnamen kan toewijzen. mod_rewrite biedt enige middelen voor toegangscontrole , maar dit is meestal beter gedaan met mod_authz_core en mod_authz_host . mod_rewrite biedt enige integratie met mod_proxy , maar om prestatieredenen moet deze integratie niet worden gebruikt en in plaats daarvan moeten ProxyPass en ProxyPassMatch van de laatste module worden gebruikt.

mod_rewrite kan zo worden ingesteld dat richtlijnen in de dynamische (.htaccess) configuratiebestanden kunnen worden geplaatst. Om prestatieredenen moet men altijd het statische (httpd.conf) configuratiebestand gebruiken waar mogelijk.

versies

Versie Publicatiedatum
2.2 2015/07/17
2.4 2016/07/05

Installatie

mod_rewrite moet zijn ingeschakeld voordat het op een Apache-server kan worden gebruikt.

Debian / Ubuntu

Voer a2enmod rewrite

Start Apache vervolgens opnieuw met service apache2 restart

Algemene zaak

Voeg de volgende regel toe in of uit het statische configuratiebestand (zoals httpd.conf ):

LoadModule rewrite_module modules/mod_rewrite.so
 

Start Apache vervolgens opnieuw.

Mod_rewrite gebruiken uit de dynamische configuratiebestanden

Belangrijk: het gebruik van de dynamische configuratiebestanden (.htaccess) is een groot succes. Wanneer u toegang hebt tot het statische configuratiebestand (httpd.conf of iets dergelijks), moet u dat in plaats daarvan gebruiken.

Sta toe dat dynamische configuratiebestanden in het statische configuratiebestand "Bestandsinfo" overschrijven met AllowOverride . Deze richtlijn moet in directory-context worden geplaatst:

AllowOverride FileInfo
 

De bestandsnaam die wordt gebruikt voor dynamische configuratiebestanden valt onder de AccessFileName richtlijn. Standaard zijn de dynamische configuratiebestanden verborgen bestanden die .htaccess .

Voeg bovenaan elk dynamisch configuratiebestand met mod_rewrite-richtlijnen de volgende richtlijn toe:

RewriteEngine on
 

Mod_rewrite gebruiken in het statische configuratiebestand

Voeg de volgende richtlijn toe voordat u een andere mod_rewrite-richtlijn gebruikt (RewriteRule, RewriteCond, RewriteBase of RewriteMap).

RewriteEngine on
 

Standaard is de motor uitgeschakeld. mod_rewrite-richtlijnen die zijn gevonden terwijl de motor is uitgeschakeld, worden genegeerd. Schakel deze in vanuit de context van de virtuele host bij gebruik van virtuele hosts, of vanuit specifieke mapcontexten indien van toepassing.