trailing slash und redirect auf /index.php

URLs umschreiben, umleiten, blocken oder sperren - all das und noch viel mehr kann mit mod_rewrite erreicht werden. Mit regulären Ausdrücken, Conditions und Rules stehst Du auf Kriegsfuss? mod_rewrite macht nicht das was Du willst, oder funktioniert gar nicht? hier bist Du richtig!

Moderatoren: Bob, Super-Mod

trailing slash und redirect auf /index.php

Beitragvon atrioom » 11.10.2011 16:00

Hallo modrewriter!

Hab schon ein paar Stunden in diese htaccess gesteckt (google, forum, http://httpd.apache.org/docs/current/mo ... write.html, etc...).
Erfahrung hab ich mit redirects und regexes schon ein bischen sammeln können, dieses Problemchen will jedoch anscheinend einfach nicht gelöst werden:

Ich will folgendes erreichen:
-) zuerst ein redirect wenn kein trailing slash vorhanden ist
-) dann ein verweis (egal welche url) auf meine index.php

Der folgende code funktioniert auch wunderbar, nur werden links auf .css und .js (alle relativen links in meinem index.php) auch rewritet.

Code: Alles auswählen
<IfModule mod_rewrite.c>
   Options +FollowSymlinks
   RewriteEngine On
# Add trailing slash to url
   RewriteBase /website
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_URI} !(.*)/$
   RewriteRule ^(.*)$ $1/ [L,R=301]
# Rewrite all urls to index.php
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule . index.php [L]
</IfModule>


Hierzu bleibt zu erwähnen: Das ganze läuft auf meinem Testserver im Verzeichnis "website".
Müssten die Conditions !-f und !-d nicht verhindern, dass der redirect ausgeführt wird bei files und directories? Ich habe schon alle möglichen Varianten durchprobiert, unter anderem die Anweisungen umzudrehen (zuerst index.php, dann trailing slash). Eigentlich hat das schon ganz gut funktioniert, aber der trailing slash blieb weg.

Bin für alle Fragen offen; soweit glaube ich das Problem recht gut beschrieben zu haben.
lg
atrioom
atrioom
.
.
 
Beiträge: 2
Registriert: 11.10.2011 15:44

Zurück zu mod_rewrite

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste