What is happening is that Apache has a "UserDir" directive to redirect all "/~" requests to a different "users" web folder - something webservers at university might do for example.
If you look in the httpd.conf file, there will probably be something along the lines of:
<IfModule mod_userdir.c>
#
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received. Be especially careful to use
# proper, forward slashes here. On Windows NT, "Personal/My Website"
# is a more appropriate choice.
#
UserDir "/path/to/users_folder/"
I'm not sure how to fix this other than a) prepending "user" paths with an arbitrary pseudo-directory, e.g. "/user/~username", or b) turn off the UserDir feature (might not be possible unless you have access to the httpd.conf file... though I'm not sure).