How does the server resolve paths?
Typically, a server will resolve paths by having a point in the configuration files that says something like “turn ~ into public_html”, which means that ~thegnome will resolve to /server/path/to/documents + public_html. Therefore, if your server’s path to docs is /usr/local/etc/httpd/htdocs with a sub directory under that of public_html with all of the users’ directories under THAT, http://www.example.com/pub/public_html/thegnome becomes http://www.example.com/~thegnome and accesses the same file. The problem with resolves is that some sites (depending on software, revisions, os, patches, etc) will resolve based off of the /etc/passwd listing of the home directory. This is good for intrusion, bad for security. As stated earlier in the FAQ, accessing http://www.example.com/~bin/etc/ can yield interesting results. In practical experience, we’ve seen this more often on BSD derivatives with Apache than anything else.