Hallo allemaal,

Ik heb het volgende probleem: wanneer ik een door htaccess veranderde link gebruik naar dezelfde pagina lijkt het alsof de pagina 3 keer geladen wordt.

Dit zie ik doordat er bij elke pagerequest eenmalig iets in de database wordt achtergelaten. Maar met de htaccess link gebeurd dit drie keer.

Dus:
/designers/54/kast/prijs_aanvragen zet 3x iets in de database
index.php?page=designers&artikel=54&titel=Kast&aan=prijs_aanvragen zet zoals het hoort 1 keer iets in de database.

Dit is mijn .htaccess bestand:
RewriteEngine on
RewriteRule ^designers/verwijder_filter/([^/]+) index.php?page=designers&verwijder_filter=$1 [L]
RewriteRule ^designers/([^/]+)/([^/]+)/([^/]+) index.php?page=designers&cat=$1&soort=$2&pagina=$3 [L]
RewriteRule ^designers/([^/]+)/([^/]+) index.php?page=designers&cat=$1&soort=$2 [L]
RewriteRule ^designers/([^/]+) index.php?page=designers&pagina=$1 [L]
RewriteRule ^artikel/([^/]+)/([^/]+)/([^/]+) index.php?page=designers&artikel=$1&titel=$2&aan=$3 [L]
RewriteRule ^artikel/([^/]+)/([^/]+) index.php?page=designers&artikel=$1&titel=$2 [L]
RewriteRule ^designers index.php?page=designers [L]
RewriteRule ^mailing index.php?page=mailing [L]
RewriteRule ^contactgegevens index.php?page=contactgegevens [L]
RewriteRule ^de_showroom index.php?page=de_showroom [L]
ErrorDocument 404 /index.php?error=404

Weet iemand waar ik de fout inga?

Groet Sander
Misschien moet je op die pagina (die die mysql query uitvoert) een check plaatsen of de GET-waarden (cat, soort en pagina) wel bestaan. Het lijkt erop dat de "voorwaarde" die .htaccess stelt drie maal voldoet, het gaat om de volgende regels:

<?php

RewriteRule ^designers/([^/]+)/([^/]+)/([^/]+) index.php?page=designers&cat=$1&soort=$2&pagina=$3 [L]
RewriteRule ^designers/([^/]+)/([^/]+) index.php?page=designers&cat=$1&soort=$2 [L]
RewriteRule ^designers/([^/]+) index.php?page=designers&pagina=$1 [L]

?>

Dus gewoon even in designers.php kijken of de GET-waarden geset zijn door middel van de isset() functie en eventueel wat andere checks.

Ik vermoed dat daar het probleem in zit.
Hallo Kevin,

Ik heb geprobeerd to doen wat je zei. Ik heb als voorwaarde om de query heengezet dat alledrie de GETs geset moeten zijn. Maar het probleem blijft.
RewriteCond %{REQUEST_FILENAME} !-f

toevoegen?

Edit: Nee, onzin. $ toevoegen aan het eind van je regexps.
Bas Cost Budde op 05/01/2011 17:20:01



Edit: Nee, onzin. $ toevoegen aan het eind van je regexps.


Kun je mij laten zien wat je daarmee bedoeld?
RewriteRule ^designers/([^/]+)/([^/]+)/([^/]+) index.php?page=designers&cat=$1&soort=$2&pagina=$3 [L]


wordt

RewriteRule ^designers/([^/]+)/([^/]+)/([^/]+)$ index.php?page=designers&cat=$1&soort=$2&pagina=$3 [L]
Het werkt! Heel erg bedankt voor je hulp Bas en Kevin.

Nu kan ik weer lekker verder prutsen :)
Bas Cost Budde op 05/01/2011 17:20:01

RewriteCond %{REQUEST_FILENAME} !-f

toevoegen?

Edit: Nee, onzin. $ toevoegen aan het eind van je regexps.


Helemaal gelijk, helemaal over het hoofd gezien. Scherp :)

Gelukkig maar, dat onderscheidt jou (en mij) van een regexp-engine ;)

Reageren