login  Naam:   Wachtwoord: 
Registreer je!
 Forum

RewriteEngine (Opgelost)

Offline Wijnand - 14/03/2007 18:04
Avatar van WijnandModerator Ik ben sinds lange tijd weer bezig met htaccess en de RewriteEngine.

Nu wil ik dit bereiken:

website.nl/bla/12/ = website.nltest.php?1=bla&2=12
website.nl/bla/12 = website.nltest.php?1=bla&2=12
website.nl/bla/ = website.nltest.php?1=bla
website.nl/bla = website.nl/test.php?1=bla

Hoe bereik ik dit?

Ik heb dit:
  1. RewriteEngine on
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteRule ^(.*)/(.*)$ test.php?1=$1&2=$2 [L,QSA]
  5. RewriteRule ^(.*)/(.*)/$ test.php?1=$1&2=$2 [L,QSA]
  6. RewriteRule ^(.*)/$ test.php?1=$1&2=$2 [L,QSA]

5 antwoorden

Gesponsorde links
Offline Ibrahim - 14/03/2007 18:09 (laatste wijziging 14/03/2007 18:09)
Avatar van Ibrahim PHP expert
  1. RewriteEngine on
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteRule ^(.*)/(.*)$ test.php?1=$1&2=$2 [L,QSA]
  5. RewriteRule ^(.*)/(.*)$ test.php?1=$1&2=$2 [L,QSA]
  6. RewriteRule ^(.*)/$ test.php?1=$1 [L,QSA]
  7. RewriteRule ^(.*)$ test.php?1=$1&2=$2 [L,QSA]


werkt dit niet ?

edit: je moet me eens uitleggen wat die [L,QSA] betekent 
Offline Wijnand - 14/03/2007 18:11 (laatste wijziging 14/03/2007 18:11)
Avatar van Wijnand Moderator nope.. tenminste mijn css en plaatjes werken dan niet meer.
Offline Ibrahim - 14/03/2007 18:39
Avatar van Ibrahim PHP expert Dat komt omdat Apache "denkt" dat het een map is, dus moet je een volledige path gebruiken. Tenminste, zo heb ik het opgelost 
Offline Rik - 14/03/2007 18:55
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Het Mod Rewrite cheatsheet is handig om er bij te houden.

Daar staat ook wat QSA en L betekent. Maar wat betekenen die !-f en !-d dan? Dat het geen folder of directory mag zijn?

Offline Wijnand - 14/03/2007 23:00
Avatar van Wijnand Moderator Ok thanks allemaal:

deze code werkt:
  1. RewriteEngine on
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteRule ^([A-Za-z0-9]+)/([0-9]+)/?$ index.php?page=$1&id=$2 [L]
  5. RewriteRule ^([A-Za-z0-9]+)/?$ index.php?page=$1 [L]


Citaat:
Maar wat betekenen die !-f en !-d dan? Dat het geen folder of directory mag zijn?

Geen idee eigenlijk, stond zomaar ergens :] Ik denk dat het een veiligheid is.. dus dat je niet intypt: /test/ terwijl dat het een echte map is en dat je dan in de map kan neuzen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.204s