>>>>> "Igor" == Igor Sysoev <is@rambler-co.ru> writes:
Igor> А так ? RewriteRule ^/([^~].*) /~%1/$1 [NS,PT]
Вот такая конструкция работает, как нужно:
RewriteMap cgi dbm:/var/db/apache/cgi
RewriteMap tolower int:tolower
RewriteMap virtual dbm:/var/db/apache/virtual
# http://www.user.ru/
RewriteCond ${tolower:%{HTTP_HOST}} ^([^:]+)
RewriteCond ${virtual:%1} ^(.+)$
RewriteRule ^/(.*) /~%1/$1 [S=3]
# http://www.user.vlink.ru/
RewriteCond ${tolower:%{HTTP_HOST}} ([^.]+\.vlink\.ru)(:.*)?$
RewriteCond ${virtual:%1} ^(.+)$
RewriteRule ^/(.*) /~%1/$1 [S=2]
# http://www.vlink.ru/~user/
RewriteCond ${tolower:%{HTTP_HOST}} (vlink\.ru)(:.*)?$
RewriteCond ${virtual:$1.%1} ^(.+)$
RewriteRule ^/~([^/]+)/(.*) /~%1/$2 [S=1]
RewriteRule ^/~([^/]+) - [F]
# CGI
RewriteCond ${cgi:$1} =OK
RewriteRule /~([^/]+)/cgi-bin/(.+) - [L,NS,PT,T=application/x-httpd-cgi]
RewriteRule /~([^/]+)/.+\.cgi - [L,NS,PT,T=application/x-httpd-cgi]
# вместо [PT]
RewriteRule /~([^/]+)/(.*) /~$1/public_html/$2
2 All: Какие-нибудь замечания есть? Кстати, посоветуйте, как права
расставить на пользовательских каталогах? Apache запущен, как
www:www. Все юзера входят в группу hosting. Юзер www тоже. Сейчас сделал так:
rwx--x--- root:hosting /usr/local/www/home
rwx--x--- root:hosting /usr/local/www/home/ppd
rwx--x--- root:hosting /usr/local/www/home/ppd/sh
rwxr-x--- root:www /usr/local/www/home/ppd/sh/ppdsh2
rwxr-x--- root:hosting /usr/local/www/home/ppd/sh/ppdsh2/public_html
В идеале хотелось бы, что бы пользователи могли cd только в свои
домашние каталоги. А в этой схеме они могут еще и в промежуточные cd.
--
DSS5-RIPE DSS-RIPN 2:550/5068@fidonet 2:550/5069@fidonet
mailto:dsh@vlink.ruhttp://neva.vlink.ru/~dsh/
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =