Rewrite hinzufügen eines trailing-slash, aber unabhängig von der domain?

Ich bin mit Apache und mod_rewrite, um URLs umschreiben für meine web-app. Sie können es hier sehen:

RewriteEngine On
RewriteBase /

# www. to non-www.
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

# Redirect non-existant files so there's a trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/[R=301,L]

# Send the URL to index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L,QSA]

Alle arbeiten gut, aber das problem ist der trailing-slash schreiben. Es funktioniert, wenn ich bin in der root der domain, sondern in meinem staging-Umgebung, ich bin mit dieser app in einem Unterverzeichnis. Ich bin das ändern der RewriteBase-Direktive einschließen, um das Unterverzeichnis oder die rewrite ausfällt.

Ich bin auf der Suche nach einer Lösung fügen Sie einen trailing slash an die URL - unabhängig davon, ob die app läuft auf dem root des Servers, ohne änderung der RewriteBase. Vielen Dank im Voraus.

InformationsquelleAutor Rob Wright | 2011-08-16
Schreibe einen Kommentar