lucy24 - 6:42 pm on Apr 10, 2013 (gmt 0)
If lucy24 is around soon she'll probably lay down some technical reasons and advice.
Funny you should say that...
Are you on Apache? If it's IIS I'll assume there is an equivalent function under a different name.
User, meet mod_dir. mod_dir, meet user. This module works silently in the background; most people never need to think about it. It does two jobs. By default:
When there is a request for an extensionless URL, it checks whether there's a directory by that name. If yes, it issues a redirect-- not a rewrite but a full-fledged 301 redirect-- to the identical URL with trailing slash. You can see this in your site logs if you deliberately request a slashless directory. Or just wait; some robots do this as a matter of course. (The name MJ12 comes to mind.)
Then, when there's a request for a directory with trailing slash, mod_dir quietly looks for a named index.html file. (There's a list of specific names to look for. You can change this list.) If yes, it quietly serves up the file. If no, it checks whether you've got auto-indexing enabled. If yes, user gets a pseudo-page that shows everything in the directory. If no, user gets a 403.
Exception: If the request is for your top-level domain name, like www.example.com, then the slash is added by the browser itself before the request ever reaches your site. mod_dir then proceeds directly to step two: looking for an index.html file.
... and that's why you don't need "index.html". Any request for /directory/ will get you the content of /directory/index.html if it exists. If you now request /directory/index.html by name, you've got two ways of reaching the same page.
Now, google says to put "rel=canonical" on any NONcanonical pages. Obviously this is meaningless in the case of index.html pages, because it's the same physical file. Same goes for some other canonical problems, like static html pages with garbage attached to the URL. You can only say "rel=canonical" if you don't mind having a page link to itself. (As a user, I find this seriously annoying and confusing. "Wasn't I here already?")