.htaccess для apache userdir's - PullRequest
       13

.htaccess для apache userdir's

0 голосов
/ 16 марта 2012

В основном у меня настроен веб-сервер, на котором все сайты находятся в / var / www, но я хочу иметь возможность заниматься разработкой в ​​~ / public_html / sitename, поэтому я установил userdir в apache, но ссылки все еще идут на / var/ www каталоги страниц.

Я знаю, что могу зайти и изменить все ссылки, но я думаю, что htaccess будет проще.

Итак, мой вопрос, можно ли сказать:

В моем public_html дома есть папка, доступ к которой осуществляется через example.com/~jackyyll/project

Я хочу, чтобы все запросы из этого проекта были перенаправлены в ~ / jackyyll / project / request_here

Я пробовал некоторые вещи в .htaccess, но ничего не работает.

Спасибо

1 Ответ

0 голосов
/ 17 марта 2012

Если вы не хотите использовать 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 определенных пользователей.

...