Seite 1 von 1

trailing slash und redirect auf /index.php

Verfasst: 11.10.2011 16:00
von atrioom
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