Baba: mod_rewrite - der Endlosschleife entkommen

Beitrag lesen

hi,

Jetzt ist es aber so, dass ja ein Nutzer auch
http://localhost/index.php/matlab2
eingeben kann. Und das bleibt in der Adressleiste stehen. Das wäre dann wieder doppelter Content :(

Wenn das so ist, tut Dein index.php nicht so wie es soll:

Doch, es gibt die index.php/matlab2 ja.

Vielleicht nochmal etwas deutlicher.

Alle meine Pages gehen über die index.php. Bsp:

index.php/matlab
index.php/matlab2
index.php/user/login

einzig, ich möchte das index.php nicht in der URL haben.

Daher funktioniert es mit

RewriteEngine on

link to index.php if file does not exist

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php/$1 [QSA] #$_SERVER['PATH_INFO']

dass ich alle Requests auf
/matlab
/matlab2
/user/login

auf die entsprechende index.php umleite. Schalter QSA!!

Nun möchte ich zusätzlich index.php aus der URL eliminieren, wenn es denn doch eingeben wurde. Mit

delete "index.php/" from url

RewriteCond %{REQUEST_URI} ^(.*)+(index.php)+(.*)$
RewriteRule (.*) %3 [R=301,L]

klappt das, allerdings widersprechen sich die Regeln und es kommt zur Endlosschleife. Ich dachte, ich könnte mit dem Schalter [L] an der ersten Bedingung lösen:

clip "index.php/" from url

#RewriteCond %{REQUEST_URI} ^(.*)+(index.php)+(.*)$
#RewriteRule (.*) %3 [R=301,L]

RewriteEngine on

redirect to index.php if file does not exist

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php/$1 [QSA,L] #$_SERVER['PATH_INFO']

, allerdings steht geschrieben....

'last|L' (last rule)
    Stop the rewriting process here and don't apply any more rewrite rules. This corresponds to the Perl last command or the break command in C. Use this flag to prevent the currently rewritten URL from being rewritten further by following rules. Remember, however, that if the RewriteRule generates an internal redirect (which frequently occurs when rewriting in a per-directory context), this will reinject the request and will cause processing to be repeated starting from the first RewriteRule.

Was mache ich da???
  "this will reinject the request and will cause
   processing _to be repeated starting from the first RewriteRule_"

Bitte helft mir!

Cheers,
Baba