ik heb een probleem met mod rewrite, hij neem de variabelen niet mee in de query string, via php_info had ik al gekeken en hij geeft: _SERVER["QUERY_STRING"] no value aan.

als ik test.php?een=hallo&twee=daar doe dan doet hij het, doe ik dmv een rewrite

test/hallo/daar dan doet hij de variabelen niet mee nemen.

aan de rewrite regel zal het niet liggen:
RewriteRule ^test/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ test.php?een=$1&twee=$2 [L]

wat kan er hier aan de hand zijn, moet er een setting worden aangepast op de server?
De query string is wat achter het vraagteken komt.
Bij een modrewrite heb je geen vraagteken dus ook niks er achter.
Webmakerij schreef op 21.08.2006 19:07
De query string is wat achter het vraagteken komt.
Bij een modrewrite heb je geen vraagteken dus ook niks er achter.


wat moet er dan bv aan de volgende rewrite veranderen?

RewriteRule ^test/(.*)/(.*)/ test.php?een=$1&twee=$2 [L]

wordt dat dan

RewriteRule ^test/?/(.*)/(.*)/ test.php?een=$1&twee=$2 [L]

Nee je mod rewrite is gewoon goed. Met mod rewrite zet je je query string om in een 'vriendelijk pad'

Je kan de 'query string' nu opvragen $_SERVER['SCRIPT_NAME'] zo even uit mijn hoofd te zeggen.
Webmakerij schreef op 21.08.2006 20:23
Nee je mod rewrite is gewoon goed. Met mod rewrite zet je je query string om in een 'vriendelijk pad'

Je kan de 'query string' nu opvragen $_SERVER['SCRIPT_NAME'] zo even uit mijn hoofd te zeggen.


ik begrijp niet helemaal wat je bedoelt, je bedoelt dat ik de $_GET in mijn scripts moet omzetten naar $_SERVER?

volgende moet dus bv veranderen?

echo $_GET['een'] . ' ' . $_GET['twee'] . '!';
$_GET['blabla'] etc zou gewoon moeten werken, maak eens een test pagina met n print_r van je $_GET en test hier op dan eens je mod_rewrite's als dit fouten geeft is de kans groot dat je een klein foutje over het hoofd ziet

EDIT: Deze?

RewriteRule ^test/([A-Za-z0-9-]+)/([A-Za-z0-9-]+) test.php?een=$1&twee=$2 [L]
RewriteRule ^test/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/(.*) test.php?een=$1&twee=$2 [L]
alles op een rij:

mijn rewrite rule

RewriteRule ^test/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/(.*) test.php?een=$1&twee=$2 [L]

mijn php code om de variabelen via get op te halen

print $_GET['een'] . ' ' . $_GET['twee'] . '!';

Bij print_r doet hij helemaal niets
vreemd, ik maak even een test-case
inderdaad :) Ik kan namelijk geen fout ontdekken in de rewrite. Alle andere standaard rewrites van bv xml naar php werken wel, behalve als ik met variabelen ga werken dan doet hij het niet.
Komtie: je hebt multiviews aan!

oplossing: noem je php bestand anders of zorg dat er op een andere manier afwisseling is
Legolas schreef op 21.08.2006 21:07
Komtie: je hebt multiviews aan!

oplossing: noem je php bestand anders of zorg dat er op een andere manier afwisseling is


je bedoelt dat ik mijn php bestand bv
hallo.php moet noemen? (dit heb ik getest maar maakt geen verschil) Wat bedoel je precies met afwisseling?

Reageren