PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [htaccess] RewriteRule doppelt ausgeführt.



GU4RDI4N
14-01-2009, 17:14
hi,
ich möchte per htaccess erreichen, das innerhalb meines Projektordners nurnoch die index.php aufgerufen werden kann, mit "?url=[whatever]" in dem alles kommt was in dem Ordner aufgerufen wurde.

so würde z.b.: "my_dir/guestbook/new" zu "my_dir/index.php?url=guestbook/new".

Einerseits währe das suchmaschinenfreundlich, aber was mir viel wichtiger ist, ist das keine Scripte mehr aufgerufen werden können, für die es nicht vorgesehen ist (z.b.: includes).

Dafür habe ich volgende .htaccess in "/my_dir/" erstellt:


RewriteEngine on

RewriteRule ^(.*)$ index.php?url=$1 [L]


Aber das Problem ist, das die RewriteRule doppelt ausgeführt wird.
Soll heissen: aus "my_dir/guestbook/gb" wird erst "my_dir/index.php?url=guestbook/gb" und danach "my_dir/index.php?url=index.php".

1. Warum führt er die Rule doppelt aus?
2. Warum verschwindet das "?url=guestbook/gb" ?

Das ganze geschieht unter Ubuntu-8.10 und Apache-2.
Ich bin noch Anfänger im Gebiet htaccess/Apache, also bitte etwas Nachsicht.


Ich hoffe ihr könnt mir helfen, ich bin hier etwas ratlos.