Ich spiele gerade etwas an der .htaccess herum und habe vielleicht einen Denkfehler.
Es gibt Seiten, die benötigen nur einen Parameter, zum Hinzufügen des Trailing Slash verwende ich dies:
RewriteCond %{REQUEST_URI} ^/foo/(.*)
RewriteRule ^(.*) /$1/ [L,R]
So wird dann aus
https://domain.invalid/foo/bar ->
https://domain.invalid/foo/bar/
Dann gibt es noch Seiten mit zwei Parametern, da funktioniert das Rewrite nur, wenn ich in der letzten Zeile den letzten Slash weglasse:
RewriteCond %{REQUEST_URI} ^/foo/(.*)/(.*)
RewriteRule ^(.*) /$1/$2 [L,R]
https://domain.invalid/foo/bar1/bar2 ->
https://domain.invalid/foo/bar1/bar2/
Wenn ich es so mache, wie es mir logisch erscheinen würde:
RewriteRule ^(.*) /$1/$2/ [L,R]
Dann bekomme ich sogar zwei Slashes am Ende, also
https://domain.invalid/foo/bar1/bar2 ->
https://domain.invalid/foo/bar1/bar2//
Und nachdem ich in
https://www.php-resource.de/tutorials/read/10/1/ einiges über reguläre Ausdrücke gelesen habe, ist mir immer noch nicht klar, warum es besser wäre, anstatt
RewriteCond %{REQUEST_URI} ^/foo/(.*)/(.*)
lieber
RewriteCond %{REQUEST_URI} ^/foo/(.*)/(.*)$
zu schreiben. Gibt es da vielleicht etwas Empfehlenswerteres zum Durchlesen?