### Apache HTTP Server Version 1.3

# Module mod_userdir

This module is contained in the `mod_userdir.c` file, and is compiled in by default. It provides for user-specific directories.

- UserDir

## UserDir

Syntax: UserDir directory/filename
Default: `UserDir public_html`
Context: server config, virtual host
Status: Base
Module: mod_userdir
Compatibility: All forms except the `UserDir public_html` form are only available in Apache 1.1 or above. Use of the `enabled` keyword, or `disabled` with a list of usernames, is only available in Apache 1.3 and above.

The UserDir directive sets the real directory in a user's home directory to use when a request for a document for a user is received. Directory/filename is one of the following:

- The name of a directory or a pattern such as those shown below.
- The keyword `disabled`. This turns off all username-to-directory translations except those explicitly named with the `enabled` keyword (see below).
- The keyword `disabled` followed by a space-delimited list of usernames. Usernames that appear in such a list will never have directory translation performed, even if they appear in an `enabled` clause.
- The keyword `enabled` followed by a space-delimited list of usernames. These usernames will have directory translation performed even if a global disable is in effect, but not if they also appear in a `disabled` clause.

If neither the `enabled` nor the `disabled` keywords appear in the `Userdir` directive, the argument is treated as a filename pattern, and is used to turn the name into a directory specification. A request for `http://www.foo.com/~bob/one/two.html` will be translated to:

    UserDir public_html     -> ~bob/public_html/one/two.html
    UserDir /usr/web        -> /usr/web/bob/one/two.html
    UserDir /home/*/www     -> /home/bob/www/one/two.html

The following directives will send redirects to the client:

    UserDir http://www.foo.com/users -> http://www.foo.com/users/bob/one/two.html
    UserDir http://www.foo.com/*/usr -> http://www.foo.com/bob/usr/one/two.html
    UserDir http://www.foo.com/~*/   -> http://www.foo.com/~bob/one/two.html

> Be careful when using this directive; for instance, `"UserDir ./"` would map `"/~root"` to `"/"` - which is probably undesirable. If you are running Apache 1.3 or above, it is strongly recommended that your configuration include a "`UserDir disabled root`" declaration. See also the <Directory> directive and the Security Tips page for more information.

### Apache HTTP Server Version 1.3