ik heb een klein probleempje met mijn modrewrite.

ik wil dat site.nl/iets/, wordt doorgelinkt naar site.nl/user.php?u=iets

Werkt prima met deze htaccess:


RewriteEngine On
RewriteRule ^(.*)/ user.php?u=$1


als ik nu in user.php de $_GET['u'] echo, krijg ik keurig de map te zien:
site.nl/iets geeft keurig "iets"

probleem is dat nu site.nl/iets niet wordt doorgelinkt, dus ik denk, ik maak deze htaccess:


RewriteEngine On
RewriteRule ^(.*)/ user.php?u=$1
RewriteRule ^(.*) user.php?u=$1


Maar als ik nu op site.nl/user.php de $_GET['u'] echo, krijg ik "user.php" te zien...

Iemand een idee waar het probleem zit?
RewriteEngine On
RewriteRule ^(.*)/ user.php?u=$1

Je hebt in re rewrite rule .* staan, war staat voor alles.
je zult .* moeten aanpassen naar iets met een ? om je url te scheiden van je $_GET vars en & gebruiken om je $_GET vars onderling te scheiden.
die had ik dus gelezen, en ik kwam er niet uit..
ik geef even precies wat ik krijg als ik $_GET['u'] echo:

met deze htaccess:


RewriteEngine On
RewriteRule ^(.*)/ user.php?u=$1


www.site.nl/iets/ --> iets
www.site.nl/iets --> 404 error


RewriteEngine On
RewriteRule ^(.*)/ user.php?u=$1
RewriteRule ^(.*)/ user.php?u=$1


www.site.nl/iets/ --> user.php
www.site.nl/iets --> user.php


wat wil ik hebben:

www.site.nl/iets --> iets
www.site.nl/iets/ --> iets


Regels omdraaien, of aan het eind voorzien van een $ werkt niet...
RewriteEngine On
RewriteRule ^(.*)/?$ user.php?u=$1
Vraagteken staat voor 0 of 1 keer

Zoiets?
Neej, ik denk dat ik even verkeerd zat....

RewriteEngine On
RewriteRule ^(.*)/ user.php?u=$1

RewriteRule ^(.*)$ <file.ext>
RewriteRule ^(.*)/$ <file.ext>
RewriteRule ^(.*)$ <file.ext>?var1=$1
RewriteRule ^(.*)/$ <file.ext>?var1=$1
RewriteRule ^(.*)$ <file.ext>?var1=$1&var2=$2
RewriteRule ^(.*)/$ <file.ext>?var1=$1&var2=$2

Het eerste gedeelte tussen ^ en $ is het gedeelte wat in je url staat, en wat na de spatie komt, ik het gedeelte hoe het zou staan als je het 'normaal' zou doen.

Let wel, je moet dan wel constant de zelfde variabele-namen gebruiken. (Zo ver ik weet, en zo kan begrijpen, plz correct me if i'm wrong!!!)

Ik weet ook niet zeker of je op de onderstaande wijze ook je file(s) kunt filteren.

RewriteRule ^(.*)(\.)([a-z][A-Z]{2|3})/(.*)/$ <file.ext>?var1=$1
Neej, ik denk dat ik even verkeerd zat....

RewriteEngine On
RewriteRule ^(.*)/ user.php?u=$1

RewriteRule ^(.*)$ <file.ext>
RewriteRule ^(.*)/$ <file.ext>
RewriteRule ^(.*)$ <file.ext>?var1=$1
RewriteRule ^(.*)/$ <file.ext>?var1=$1
RewriteRule ^(.*)$ <file.ext>?var1=$1&var2=$2
RewriteRule ^(.*)/$ <file.ext>?var1=$1&var2=$2

Het eerste gedeelte tussen ^ en $ is het gedeelte wat in je url staat, en wat na de spatie komt, ik het gedeelte hoe het zou staan als je het 'normaal' zou doen.

Let wel, je moet dan wel constant de zelfde variabele-namen gebruiken. (Zo ver ik weet, en zo kan begrijpen, plz correct me if i'm wrong!!!)

Ik weet ook niet zeker of je op de onderstaande wijze ook je file(s) kunt filteren.
Neej, ik denk dat ik even verkeerd zat....

RewriteEngine On
RewriteRule ^(.*)/ user.php?u=$1

RewriteRule ^(.*)$ <file.ext>
RewriteRule ^(.*)/$ <file.ext>
RewriteRule ^(.*)$ <file.ext>?var1=$1
RewriteRule ^(.*)/$ <file.ext>?var1=$1
RewriteRule ^(.*)$ <file.ext>?var1=$1&var2=$2
RewriteRule ^(.*)/$ <file.ext>?var1=$1&var2=$2

Het eerste gedeelte tussen ^ en $ is het gedeelte wat in je url staat, en wat na de spatie komt, ik het gedeelte hoe het zou staan als je het 'normaal' zou doen.

Let wel, je moet dan wel constant de zelfde variabele-namen gebruiken. (Zo ver ik weet, en zo kan begrijpen, plz correct me if i'm wrong!!!)

Ik weet ook niet zeker of je op de onderstaande wijze ook je file(s) kunt filteren.

RewriteRule ^(.*)(\.)([a-z][A-Z]{2|3})/(.*)$ <file.ext>?var1=$1
RewriteRule ^(.*)(\.)([a-z][A-Z]{2|3})/(.*)/$ <file.ext>?var1=$1
dat is dan de vraag wat je wilt....
je kunt ook alles via je index.php laten lopen...
Je moet er even mee spelen.

Reageren