Toon posts:

[mod_rewrite] Parameter met /'s erin meegeven

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een mod rewrite en heb nu de volgende code:
code:
1
RewriteRule ^([A-Za-z0-9^_-]+)/([A-Za-z0-9^_-]+)/?$ index.php?page=$1&searchkeywords=$2


Wat ik wil is de param searchkeywords een string als deze meegeven pietje/puk/blaat/etc
In de pattern zie je dat er een sheiding met een slash wordt gemaakt, maar zodra ik pietje/puk/blaat/etc tegen kom kom ik gewoon op een 404,wat ik dus moet doen is ervoor zorgen dat ik in deze pattern ([A-Za-z0-9^_-]+) het ook voor elkaar krijg dat een / is toegestaan. Iemand iedeen? Ik heb al gezocht op mod rewrite expressions maar ik kom er niet uit helaas.

Verwijderd

Misschien lees ik het niet helemaal goed, maar een URI als /pietje/puk/blaat/etc heeft 4 entries die door de mod_rewrite moeten worden geparst, en je reguliere expressie kent er maar 2.

Heb je bovendien al eens met de meest simpele entries die je kon bedenken gekeken of je mod_rewrite wel aanstaat?

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 05-11 09:42

JHS

Splitting the thaum.

Als ik het goed begrijp is hetgeen voor de eerste slash de page, en de rest hetgeen je wil toevoegen aan je 2e parameter. Waarom voeg je dan de in de tweede character groep niet gewoon een slash toe :) ?

Je topictitel overigens een beetje geëdit :) .

[ Voor 12% gewijzigd door JHS op 22-12-2006 11:42 ]

DM!


Verwijderd

Topicstarter
JHS schreef op vrijdag 22 december 2006 @ 11:40:
Als ik het goed begrijp is hetgeen voor de eerste slash de page, en de rest hetgeen je wil toevoegen aan je 2e parameter. Waarom voeg je dan de in de tweede character groep niet gewoon een slash toe :) ?

Je topictitel overigens een beetje geëdit :) .
Ja dat klopt, ik wil 'm als 2e parameter meegeven omdat ze optioneel zijn, ze bestaan niet altijd. De ene keer is het pagina/nogeen/nogeen/nogeen/nogeen/etc en de andere keer is het weer /pagina/noggeen of alleen /pagina

Bedankt voor de reactie alvast!

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 05-11 09:42

JHS

Splitting the thaum.

Waarom doe je het dan niet zo :?

code:
1
RewriteRule ^(.*)/ index.php?request=$1


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
get_request_parts($_GET['request']);

function get_request_parts($request) {
  if($request == "" OR $request == NULL) {
    /* error afhandeling */
    return false;
  } else {
    $request_parts = explode("/", $request);
    /* sanity checks */
    return $request_parts;
  }
}


Of iets dergelijks.

[ Voor 3% gewijzigd door JHS op 22-12-2006 12:54 ]

DM!