• hanneshoffie
  • Registratie: November 2005
  • Laatst online: 19-05-2022
Hallo allemaal,

Ik wil graag URL's met een ? bv. /index.php?id=4 rewriten naar een andere pagina.
Het probleem is dat ik op geen enkele manier het ? kan escapen, in ieder geval ik heb hem niet kunnen vinden.
De volgende dingen heb ik geprobeerd:

code:
1
2
3
4
5
6
7
8
9
10
11
reWriteCond %{REQUEST_URI} ^/index.php\?\id=6 
RewriteRule ^(.+)$ / [L]

reWriteCond %{REQUEST_URI} ^/index.php?id=6 
RewriteRule ^(.+)$ / [L]

reWriteCond %{REQUEST_URI} ^/index.php(.)+id=6 
RewriteRule ^(.+)$ / [L]

reWriteCond %{REQUEST_URI} ^/index.php\?+id=6 
RewriteRule ^(.+)$ / [L]


En nog een aantal. Op 1 enkel teken matchen werkt ook niet volgens bovenstaande(3e manier).

Weet iemand hoe ik deze 'speciale' tekens kan rewriten?

groeten.

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

De variabele %{REQUEST_URI} bevat de query string niet. Je kan dat op de volgende manieren oplossen.

Met een extra condition:
code:
1
2
reWriteCond %{REQUEST_URI} index.php
reWriteCond %{QUERY_STRING} id=6


of in één regel:
code:
1
ReWriteCond %{REQUEST_URI}\?%{QUERY_STRING} index.php\?id=6


Wellicht is er ook wel een variabele die dit meteen combineert, dat zou je even in de docs moeten opzoeken. Als je daar dan toch kijkt kan je meteen even naar de logging moggelijkheden van mod_rewrite kijken, die zijn namelijk zeer uitgebreid :). Als je een goed loglevel ingevuld had, dan zou je in je logfiles precies kunnen zien welke strings er geprobeerd werden om tegen je condition te matchen en zou je de fout waarschijnlijk vlot gespot hebben :)

  • hanneshoffie
  • Registratie: November 2005
  • Laatst online: 19-05-2022
oke bedankt