Если вы не хотите использовать mod_userdir
, простой AliasMatch
может добиться цели.Вот что я использую для сопоставления www.kylheku.com/~kaz/
с /home/kaz/public-www/
и так далее, прямо из моего httpd.conf
:
# /~user/blah goes to /home/user/public-www/blah
AliasMatch ^/~([a-z]+)/(.*) /home/$1/public-www/$2
# /~user and goes to /home/user/public-www/
AliasMatch ^/~([a-z]+)$ /home/$1/public-www/
AliasMatch
имеет некоторые возможности, напоминающие mod_rewrite
, за исключением того, что Alias
он принимает URL-адреса, поступающие на сервер, и сопоставляет их с путями.Выходные данные не повторно вводятся в цепочку обработки запросов.Любой URL-адрес, сопоставленный Alias
или AliasMatch
, обходит VirtualHost
и их докруты.Это как механизм особых исключений.
.htaccess
в пользовательском каталоге public-www
работает просто отлично.У меня есть RewriteRules
там и другие помехи.
Конечно, это намного проще, чем mod_userdir
.Он отображает все возможные имена пользователей во все возможные каталоги userdir, независимо от того, существуют они или нет.mod_userdir
имеет больше наворотов, например, ограничение на то, какие пользователи имеют userdir, и альтернативные userdirs определенных пользователей.