Mod_rewrite icm. GET-forms

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • SvMp
  • Registratie: September 2000
  • Niet online
Ik probeer een mod_rewrite rule te maken die goed werkt icm. GET-forms maar ik kom er niet uit.

Wat is de bedoeling.

Ik heb een PHP-script index.php die reageert op de get-parameters page= en subpage=.
De URL's zijn achter http://mijnwebsite.nl/page/subpage.

De volgende rule regelt dat voor mij:
code:
1
RewriteRule ^([^\/]*)/([^?]*)?(.*)$ /index.php?page=$1&subpage=$2&$3 [L]


Probleem treedt echter op bij GET-forms. Die plaatsen er een string achter in de vorm van '?input1=value1&input2=value2&etc...'.

Deze waardes krijg ik niet binnen.
Ik heb van alles geprobeerd, maar ik krijg het niet werkend.
Google levert vooral tutorials op hoe je een mooie URL kunt maken met get-params zoals mijnpagina/zoeken/mijnzoektermen maar ik wil gewoon mijnpagina/zoek?search=fsdafd&pg=1

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 09:36
De RewriteRule matched het script pad, niet de querystring
Daarvoor dien je
code:
1
RewriteCond %{QUERY_STRING} ^...$
te gebruiken.

Acties:
  • 0 Henk 'm!

  • SvMp
  • Registratie: September 2000
  • Niet online
Dat is toch ook de bedoeling? Ik wil dat de query-string er gewoon achter wordt gezet zonder controles. Het PHP-script checkt de parameters wel.

Acties:
  • 0 Henk 'm!

  • Jaap-Jan
  • Registratie: Februari 2001
  • Laatst online: 06:51
Kun je ook de $_SERVER['QUERY_STRING'] printen en hier plakken en zelf nakijken of hij in orde is?

| Last.fm | "Mr Bent liked counting. You could trust numbers, except perhaps for pi, but he was working on that in his spare time and it was bound to give in sooner or later." -Terry Pratchett


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 09:36
SvMp schreef op dinsdag 25 mei 2010 @ 10:12:
Dat is toch ook de bedoeling? Ik wil dat de query-string er gewoon achter wordt gezet zonder controles. Het PHP-script checkt de parameters wel.
Ik weet niet of dat je bedoeling is, in je openingspost zeg je daar immers niets over, behalve "ze komen niet binnen". Daarom ging ik er van uit dat je ze wilt matchen.

Als je ze simpelweg wilt 'behouden' zoek je naar 'query string append'. Dit is een optie voor RewriteRule.

Acties:
  • 0 Henk 'm!

  • vriesdude
  • Registratie: Februari 2002
  • Laatst online: 13-09 08:52
(jarig!)
SvMp schreef op dinsdag 25 mei 2010 @ 09:59:
Ik probeer een mod_rewrite rule te maken die goed werkt icm. GET-forms maar ik kom er niet uit.

Wat is de bedoeling.

Ik heb een PHP-script index.php die reageert op de get-parameters page= en subpage=.
De URL's zijn achter http://mijnwebsite.nl/page/subpage.

De volgende rule regelt dat voor mij:
code:
1
RewriteRule ^([^\/]*)/([^?]*)?(.*)$ /index.php?page=$1&subpage=$2&$3 [L]


Probleem treedt echter op bij GET-forms. Die plaatsen er een string achter in de vorm van '?input1=value1&input2=value2&etc...'.

Deze waardes krijg ik niet binnen.
Ik heb van alles geprobeerd, maar ik krijg het niet werkend.
Google levert vooral tutorials op hoe je een mooie URL kunt maken met get-params zoals mijnpagina/zoeken/mijnzoektermen maar ik wil gewoon mijnpagina/zoek?search=fsdafd&pg=1
code:
1
RewriteRule ^([^\/]*)/([^?]*)?(.*)$ /index.php?page=$1&subpage=$2&$3 [L,QSA]


QSA toevoegen, (Query String Append)

/dev/null


Acties:
  • 0 Henk 'm!

  • SvMp
  • Registratie: September 2000
  • Niet online
vriesdude schreef op dinsdag 25 mei 2010 @ 10:28:
[...]


code:
1
RewriteRule ^([^\/]*)/([^?]*)?(.*)$ /index.php?page=$1&subpage=$2&$3 [L,QSA]


QSA toevoegen, (Query String Append)
Dank voor deze tip, dit is wat ik zocht!
Pagina: 1