Zoeken…


Opmerkingen

Dit onderwerp beschrijft de twee contexten waarin RewriteRule kan worden gebruikt. In voorbeelden waarbij RewriteEngine on weggelaten, wordt aangenomen dat deze richtlijn vóór dat voorbeeld is opgetreden.

Herschrijf regels in context per map

De context per map is een onderdeel van het statische configuratiebestand tussen de tags <Directory> en </Directory> . De volledige inhoud van dynamische configuratiebestanden bevindt zich binnen de context van de map waarin de .htaccess zich bevindt.

RewriteRule 's in per-map context komen overeen met het deel van een url na het protocol, hostnaam, poort en prefix van de map waarin ze zich bevinden, en voor de query string.

In het statische configuratiebestand

Wanneer de volgende regel wordt gebruikt op de URL http://example.com/foo?id=1 , wordt de regex in het eerste argument van RewriteRule vergeleken met foo . Het protocol ( http ), de hostnaam ( example.com ) en het voorvoegsel voor deze map ( / ) worden verwijderd. Aan het andere uiteinde wordt ook de queryreeks ( ?id=1 ) verwijderd.

<Directory "/">
  RewriteRule ^foo$ bar [L]
</Directory>

In het volgende voorbeeld, met behulp van de URL http://example.com/topic/15-my-topic-name , zou het eerste argument van RewriteRule worden vergeleken met topic/15-my-topic-name :

<Directory "/topic/">
  RewriteRule ^topic/([0-9]+)-[^/]*/?$ topics.php?id=$1 [L]
</Directory>

In het dynamische configuratiebestand

Wanneer de volgende regel wordt geplaatst in een .htaccess bestand in de www-rootmap en vervolgens wordt gebruikt op de URL http://example.com/foo?id=1 , wordt de eerste regex vergeleken met foo .

RewriteRule ^foo$ bar [L]

In de context van de map begint de overeenkomende URL nooit met een / . In een dergelijke context zal een richtlijn die begint met RewriteRule ^/ nooit overeenkomen.

Herschrijf regels in context van virtuele host

De context van de virtuele host is een onderdeel van het statische configuratiebestand tussen de tags <VirtualHost> en </VirtualHost> .

RewriteRule 's in de context van een virtuele host komen overeen met het deel van een URL na het protocol, de hostnaam en de poort en vóór de queryreeks.

Wanneer de volgende regel wordt gebruikt voor de URL http://example.com/foo?id=1 , wordt de regex in het eerste argument van RewriteRule vergeleken met /foo .

<VirtualHost 1.2.3.4:80>
  ServerName example.com

  RewriteEngine on
  RewriteRule ^/foo$ /bar [L]
</VirtualHost>


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow