Frage

Was ich auf die folgenden Rewrite-Regel tun, tun müssen, um es zu machen, damit es funktioniert, ob sich ein Schrägstrich am Ende der URL ist?

dh. http://mydomain.com/content/featured oder http://mydomain.com/content/featured/

RewriteRule ^content/featured/ /content/today.html 
War es hilfreich?

Lösung

Mit dem $ dem Ende der Zeichenfolge markieren und die ? den vorhergehenden Ausdruck markieren wiederholt Null oder Eins Zeiten sein:

RewriteRule ^content/featured/?$ content/today.html

Aber ich empfehle Ihnen eine Notation zu halten und korrigieren falsch geschrieben:

# remove trailing slashes
RewriteRule (.*)/$ $1 [L,R=301]

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

Andere Tipps

einfache Art und Weise, dies zu tun:

RewriteEngine On
RewriteBase / 
RewriteRule ^content/featured(\/||)$ /content/today.html [L,R=301,NC] 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top