[.htaccess] Rewrite deel 234234

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • xilent_xage
  • Registratie: Februari 2005
  • Laatst online: 15-09 11:35
Hoi,

Ik weet dat er dikwijls vragen over rewrite rules langskomen. In alle soorten & maten zogezegd. Maar die van mij zit er niet tussen. Wat ik tot op heden deed is alle requests (ook images/css/js) forwarden naar de index.php die er vervolgens verder mee aan de slag gaat. Dit deed ik met de volgende ruleset:

code:
1
2
RewriteEngine On
RewriteRule ^(([^/]+)/){0,}([^/]+)?$ www/index.php


Werkt heel prettig, alleen je komt natuurlijk in de knoei met verschillende standaardtooltjes zoals tinymce, phpmyadmin, omdat die eigenlijk niks te maken hebben met mijn structuur. Daarom checkte ik zo snel mogelijk in de index.php of de request begon met /_tools, en zoja dan include of print ik de juiste file inclusief juiste headers.

Das natuurlijk omslachtig, onhandig en niet erg snel. Hoewle ik die dingen hartgrondig haat dus toch maar weer in de rewrite rules gedoken om een uitzondering te maken voor alle requests uit de /_tools dir.

Mijn aanpak is als volgt: Ik wil mijn bestaande rule houden, maar een uitzondering toevoegen. Hiervoor heb ik aan mijn .htaccess de volgende rule toegevoegd:

code:
1
RewriteRule ^_tools/ - [L]


Als ik het goed zie dan zeg je hiermee dat ie alle requests die beginnen met /_tools/ gewoon normaal moet behandelen. Zegmaar :)

Maar werken doet t niet, hij blijft gewoon alle requests forwarden naar de index.php. Ziet iemand wat hier misgaat?

Alvast dank!

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 11:57
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php?url=$1

dat gebruik ik :)

|>


Acties:
  • 0 Henk 'm!

  • xilent_xage
  • Registratie: Februari 2005
  • Laatst online: 15-09 11:35
Helaas werkt jouw rule net ff anders: indien een file wordt aangeroepen die bestaat dan pakt ie die gewoon. Dat heeft m.i. vooral een veiligheidsnadeel (het rechtstreeks aanroepen van files/dirs op de server). Mijn bedoeling is om ALTIJD de index.php te pakken, ook als de file wel bestaat.

En wat ik ook niet zo snap is die $1 in jou rule. Zie je heel vaak. Dan laat je de URL als GET-variabele meegeven. Maar waarom, je hebt de URL toch al in de REQUEST_URI?