[RegEx] Vriendelijke URL's lukt niet zoals ik het wil

Pagina: 1
Acties:

  • FaZe
  • Registratie: Maart 2000
  • Laatst online: 16-01 13:23
Zit nu al vele dagen te klooien om alles nu goed te krijgen hoe ik het wil. Veel google gedaan en ook hier wat rond gezocht.
Wil het volgende voor elkaar krijgen:
ik noem even alles mijnsite.nl
http://www.mijnsite.nl --> roept engine.php?page=home (mag desnoods paga="" zijn, vang ik in het script er wel uit)
http://www.mijnsite.nl/contact -->engine.php?page=contact
http://www.mijnsite.nl/etc --> engine.php?page=etc
eventueel andere handmatig geconfigureerde dingen.

Ik gebruik nu dit:
code:
1
2
3
   RewriteRule  \.(php)$ http://www.mijnsite.nl/ [R]
   RewriteRule /([A-Za-z0-9]+) /engine.php?page=$1 [QSA]
   RewriteRule ^/$ /engine.php [L]

De eerste regel is een omslachtige manier om te zorgen dat ze niet zelf php dingen aan zitten te roepen, maar ben niet tevreden met de manier
De tweede regel werkt wel... maar gooit alles naar engine.php ... dus request voor /images/1.jpg komen niet door.
De derde regel zorgt dat gewoon de / bij de engine.php uitkomt

Wat ik dus voor elkaar moet krijgen is een aanpassing in de tweede regel.. om te zorgen dat deze ALLEEN namen (letters en of cijfers) (a-zA-Z0-9) pakt... en de regel overslaat als er wat dan ook anders bij komt, dus geen "/" "."

Als het kan, dan het liefste ook dat iemand niet zelf GET vars mee kan sturen... als nu iemand bijv doet: http://www.mijnsite.nl?page=hoi dan gaat hij nu kijken of die pagina bestaat, wat dus niet de bedoeling is

Het enige wat ik eigelijk overal tegenkom is hoe je het moet oplossen met /page/enz. maar ik wil zonder die extra submap

[ Voor 7% gewijzigd door FaZe op 26-09-2006 21:49 ]


  • wiho
  • Registratie: Februari 2000
  • Laatst online: 08-02 16:34

wiho

Certified Nerd

Die tweede regel matched alle urls die met een letter of cijfer beginnen. Om alleen urls te matchen die volledig uit letters en/of cijfers bestaan, kun je deze gebruiken:
code:
1
RewriteRule ^/([A-Za-z0-9]+)$ /engine.php?page=$1 [QSA]

"Pas als het proces gecrashed is, dumpt men de core"


  • JayVee
  • Registratie: Mei 2002
  • Laatst online: 14-11-2025

JayVee

shibby++!

Om ervoor te zorgen dat plaatjes, stylesheets etc genegeerd worden kune je dit gebruiken:
code:
1
RewriteCond %{REQUEST_FILENAME} !-f

ASCII stupid question, get a stupid ANSI!


  • FaZe
  • Registratie: Maart 2000
  • Laatst online: 16-01 13:23
Super! bedankt! Eindelijk werkt het _/-\o_