Вы можете сделать символ необязательным, добавив к нему квантификатор ?
следующим образом:
RewriteRule ^([^/]+)/?$ $1/index.html
Теперь и /foobar
, и /foobar/
будут переписаны в /foobar/index.html
.
Но было бы лучше, если бы вы использовали только одно правописание с косой чертой или без нее и перенаправили другое:
# remove trailing slash
RewriteRule (.+)/$ /$1 [L,R=301]
# add trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*[^/]$ /$1/ [L,R=301]
Эти правила либо удаляют, либо добавляют отсутствующий завершающий слеш и выполняют постоянное перенаправление.