Voorkomende problemen

De volgende problemen heb ik zelf ervaren toen ik er net mee bezig was.

404 Pagina’s bij het opvragen van een mod_rewrite URL
Dit kwam bij mij, doordat ik of 1, of 2, of 3 variabelen gebruikte in een URL adres. Wanneer ik alleen 1 variabele gebruikte, en ik had er 3 in de RewriteRule gedefineerd, kreeg ik een 404 error pagina. Dit kun je oplossen door 3 verschillende rewrite rules te maken. Let op dat je bovenin de .htaccess file rekening houdt met eerst 3, dan 2 en dan 1 variabele.

RewriteRule ^php/tutorials/(.*)/(.*)/(.*)/ php/tutorials.php?cat=$1&id=$2&pid=$3
RewriteRule ^php/tutorials/(.*)/(.*)/ php/tutorials.php?cat=$1&id=$2
RewriteRule ^php/tutorials/(.*)/ php/tutorials.php?cat=$1

Nog steeds 404 pagina’s bij het opvragen van een mod_rewrite URL
Dit kan komen door dat je ‘slordig’ bezig bent met de slashes. Zorg ervoor dat je linkt naar een URL adres zoals deze:

http://www.joudomein.nl/php/tutorials/5/12/25/

In plaats van:

http://www.joudomein.nl/php/tutorials/5/12/25
Het verschil is dus dat deze geen slash aan het einde heeft en de andere wel

Wanneer je hier niet afhankelijk van wilt zijn, kun je ook nog meer regels toevoegen in je .htaccess file. Het zou er dan als volgt moeten uitzien:

RewriteRule ^php/tutorials/(.*)/(.*)/(.*)/ php/tutorials.php?cat=$1&id=$2&pid=$3
RewriteRule ^php/tutorials/(.*)/(.*)/(.*) php/tutorials.php?cat=$1&id=$2&pid=$3
RewriteRule ^php/tutorials/(.*)/(.*)/ php/tutorials.php?cat=$1&id=$2
RewriteRule ^php/tutorials/(.*)/(.*) php/tutorials.php?cat=$1&id=$2
RewriteRule ^php/tutorials/(.*)/ php/tutorials.php?cat=$1
RewriteRule ^php/tutorials/(.*) php/tutorials.php?cat=$1


Hiermee defineer je dus regels met en zonder slash op het eind.

Controleren of mod_rewrite wel geïnstalleerd is
Je kunt dit controleren door een leeg php bestand aan te maken met de volgende regel:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
phpinfo();
?>


Roep dit script aan en scroll naar het Apache gedeelte. Hierin zie je een kolom met modules. Hier tussen moet ook de module mod_rewrite staan. Wanneer deze hier niet staat, heb je mod_rewrite niet geïnstalleerd.

Ik wens je veel succes en sterkte met het gebruiken van mod_rewrite.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Voorbereidingen
  2. URL vriendelijke pagina's maken
  3. Voorkomende problemen

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.