I've come across two rewrites that seem to work in adding a trailing slash to a URL regardless of how many folders deep it is.

Method 1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)([^/])$        /$1$2/ [L,R=301]
Method 2
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) /$1/ [R=301,L]
I get the first line on both; that means if the file doesn't exist, apply the rule, right? On method 1, the second line means match anything so long as it doesn't end in a /, right?

So, I guess my main question is. What do the extra conditions in method 2 do—and does method 2 do anything method 1 doesn't?