[apache] RewriteRule: slash en geen slash

Pagina: 1
Acties:

  • BlueAce
  • Registratie: November 2002
  • Laatst online: 09-01-2021
Wat ik probeer te doen is als volgt:

Zodra iemand "www.domein.nl/zoeken" intikt, krijgt hij zoeken.php voorgeschoteld. Omdat het nu dus een dir lijkt, zijn er gasten die "www.domein.nl/zoeken/" intikken. Nou kun je dit op de moeilijke manier doen:

code:
1
2
RewriteRule ^/zoeken/$ zoeken.php
RewriteRule ^/zoeken$ zoeken.php


Maar mierenneuker als ik ben zou ik willen weten of er een soort van expressie is die checkt: wel of geen slash, het maakt me niet uit. Iemand een idee?

Thx alvast.

Verwijderd

Dit zou moeten werken:
code:
1
RewriteRule ^/zoeken(|/)$ zoeken.php
Uitleg: het stukje (|/) werkt als volgt: de | operator zorgt er voor dat er een match optreedt wanneer óf het stuk links ervan, óf het stuk rechts ervan wordt gevonden.

Voorbeeld: a(b|e)c matcht zowel abc als aec.

In jouw geval zet ik links van de | niets, en rechts ervan een slash. Dat zorgt dat ze dus allebei mogelijk zijn.

Lees het FAQ-topic P&W FAQ - Regular expressions met waardevolle informatie door voor je nog meer vragen stelt over reguliere expressie's, daar staat het prima uitgelegd.

[ Voor 112% gewijzigd door Verwijderd op 05-08-2004 14:38 . Reden: Uitleg ]


  • MikeN
  • Registratie: April 2001
  • Laatst online: 23-05 16:56
_JWB_: dat bedoelt de TS volgens mij niet. Wat de TS bedoel is dat hij bij /willekeurigezooi /eerst checked of die opent en als dat een 404 is hij redirect naar /willekeurigezooi
Ik zou overigens zo niet iets weten daarvoor, maar volgens mij kun je wel condities opgeven bij je rewrite, als je daarbij dan een 404 zet zou het moeten werken.

Verwijderd

MikeN schreef op 05 augustus 2004 @ 14:17:
_JWB_: dat bedoelt de TS volgens mij niet.
Volgens mij bedoelt hij dat wel. Hij schrijft:
...of er een soort van expressie is die checkt: wel of geen slash, het maakt me niet uit
Daarna geeft hij twee expressies, die de url /zoeken/ of /zoeken allebei naar dezelfde pagina doorsturen. Dat wil hij simpeler doen, door daar één expressie voor te schrijven. Die heb ik gegeven.

  • Sendy
  • Registratie: September 2001
  • Niet online
_JWB_ >
Toch lijkt me /? duidelijker dan (|/). (ongeacht of het een antwoord is of niet)

[ Voor 4% gewijzigd door Sendy op 05-08-2004 14:33 ]


Verwijderd

Sendy schreef op 05 augustus 2004 @ 14:32:
Toch lijkt me /? duidelijker dan (|/).
Dat is inderdaad wel wat duidelijker ja. Meteen de uitleg erbij: het vraagteken betekent: match het teken (of de groep) hiervoor exact NUL of EEN keer. Dat komt in dit geval dus neer op wél of een slash, of géén slash.
De volledige regel wordt dan:
code:
1
RewriteRule ^/zoeken/?$ zoeken.php

  • BlueAce
  • Registratie: November 2002
  • Laatst online: 09-01-2021
Bedankt JWB, dat bedoel ik idd precies :)

[ Voor 3% gewijzigd door BlueAce op 05-08-2004 20:22 ]

Pagina: 1