login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[HTACCESS] Rewrite en ErrorDocument werken niet goed samen.

Offline Rik - 19/10/2006 19:57
Avatar van RikGouden medailleGouden medaille

Crew algemeen
Hey!
Ik gebruik nu een .htaccess die de zorgt voor "leesbare urls":
  1. RewriteEngine On
  2. ErrorDocument 404 /csslan/index.php?page=404
  3. RewriteRule ^(dictionary|rules|contact|admin|inschrijven|disclaimer|credits|404)/? index.php?page=$1

Dat werkt prima alleen sinds ik een hitcounter heb gemaakt, zie ik dat de pagina steeds twee keer wordt geladen.

Na wat testen kwam ik er achter dat er steeds ook de 404 pagina word aangeroepen. Volgens mij komt dit omdat hij eerst de url herkent als 404 en daarna pas de rewriterule leest. Alleen als ik de errordocument helemaal aan het einde van het bestand zet verandert er niets.

Weet iemand hoe dit komt, en hoe ik dit zou kunnen oplossen?

4 antwoorden

Gesponsorde links
Offline Thomas - 20/10/2006 09:35
Avatar van Thomas Moderator Ik zou je ErrorDocument-statement(s) naar boven verplaatsen:

  1. # errordocs eerst
  2. ErrorDocument 404 /csslan/index.php?page=404
  3.  
  4. # dan pas rewriterules
  5. RewriteEngine On
  6. RewriteRule ^(dictionary|rules|contact|admin|inschrijven|disclaimer|credits|404)/? index.php?page=$1


Als je per sé de niet gevonden pagina wilt tonen als /404(/) moet je er mss een externe redirect van maken, zodat de rewrite-engine dit alsnog kan herschrijven (ik weet niet zeker of dit werkt):

  1. # externe redirect
  2. # deze URL wordt opnieuw ge-evalueerd en herschreven met onderstaande rewriterule
  3. # als het goed is :)
  4. ErrorDocument 404 http://www.jesite.com/404
  5.  
  6. RewriteEngine On
  7. RewriteRule ^(dictionary|rules|contact|admin|inschrijven|disclaimer|credits|404)/? index.php?page=$1
Offline Rik - 20/10/2006 17:18
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
M'n ErrorDocument naar boven verplaatsen heeft geen nut.

Je tweede manier ziet er erg logisch uit, maar die werkt niet. 
Offline ikkedikke - 21/10/2006 11:35
Avatar van ikkedikke PHP expert waarschijnlijk check je in je index.php of de pagina bestaat ?
dan moet je misschien de teller pas laten tellen als je zeker weet dat de pagina bestaat ?
Offline Rik - 21/10/2006 12:11
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Ja dat doe ik, maar het gaat er eigenlijk nog niet eens echt om dat de hitcounter dubbel telt, maar dat maar pagina twee keer wordt geladen.

Dan moet de bezoeker dus wss ook twee keer zo lang wachten.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.188s