I\'m trying to redirect a series of static URLs, and I want it to work whether or not the trailing slash is present:
/foo/bar ---> /tacos
/foo/bar/ -->
Try
RewriteRule ^foo/bar/?$ http://url.com/tacos
If you want to match foo/bar regardless of whether it's followed by another portion of path, you can say:
RewriteRule ^foo/bar(/.*|$) http://url.com/tacos
This will match any of the following:
foo/bar
foo/bar/
foo/bar/baz
It means: match either a) a slash followed by 0 or more characters, or b) the end of the string.
On the other hand, these might be undesirable:
RewriteRule ^foo/bar/? http://url.com/tacos # This also matches foo/barb
RewriteRule ^foo/bar/?$ http://url.com/tacos # This will not match foo/bar/baz
This also works:
RedirectMatch 301 /foo/bar(/.*|$) http://url.com/tacos
Other than in EBNF or ABNF, a quantifier in regular expressions refers the preceding expression and not the following expression.
So:
RewriteRule ^foo/bar/?$ http://url.com/tacos