Проблема сложней чем кажется, поскольку в этих редирктах по хорошему еще нужно отслеживатьстатус реципелента, посколкьу если там 404 то смысл менять его на 301+404 нет и с точки зрения сео это не феншуй.
Убирает несколько слешей в урле если встречаются типа //
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} .*\/\/$
RewriteRule (.*)(\/\/)(.*)$ $1/$3$
Исключая файлы по маске, посколку в конце файлов не нужно ставитьслешь, поскольку директива -f тут не прокатит должным образом. Так же можно заменить на любую точку в принципе кроме файлов она нигде не встречается. Но я лично ограничил так.
Н
RewriteCond %{REQUEST_FILENAME} !^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
Так же не забывай что нужно это ставить после чпу