/ / Schreibe lange URLs mit einem abschließenden Schrägstrich um - Regex, Apache, .htaccess, Mod-Rewrite, URL-Umleitung

Schreibe lange URLs mit einem abschließenden Schrägstrich um - Regex, Apache, .htaccess, Mod-Rewrite, URL-Umleitung

Ich habe diesen Code, um Verzeichnisse 1 Ebene tief auf dem Server neu zu schreiben. Es hängt einen abschließenden Schrägstrich / wenn man nicht zur Verfügung gestellt wird.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*[^/]$ /$0/ [L,R=301]

was funktioniert, aber wie erzwinge ich nachfolgende Schrägstriche, wenn die URL mehrere Verzeichnisse tief ist ....

http://example.org/words/more-words/1234/this-is-an-article

Wie kann ich alle URLs (von variabler Länge) anhängen lassen /?

Antworten:

1 für die Antwort № 1

Sie können Ihre Regel folgendermaßen ersetzen:

## Adding a trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{THE_REQUEST} s/+(.*?)[^/][?s]
RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=301,NE]