.htaccess veroorzaakt probleem
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
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?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]
?>
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.
Gewijzigd op 05/01/2011 16:38:24 door Kevin de Groot
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.
toevoegen?
Edit: Nee, onzin. $ toevoegen aan het eind van je regexps.
Gewijzigd op 05/01/2011 17:20:56 door Bas Cost Budde
Bas Cost Budde op 05/01/2011 17:20:01:
Edit: Nee, onzin. $ toevoegen aan het eind van je regexps.
Edit: Nee, onzin. $ toevoegen aan het eind van je regexps.
Kun je mij laten zien wat je daarmee bedoeld?
Code (php)
1
RewriteRule ^designers/([^/]+)/([^/]+)/([^/]+) index.php?page=designers&cat=$1&soort=$2&pagina=$3 [L]
wordt
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.
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 ;)