Mod rewrite 将mod_重写和vhost_dbd_模块相结合

Mod rewrite 将mod_重写和vhost_dbd_模块相结合,mod-rewrite,apache2,vhosts,Mod Rewrite,Apache2,Vhosts,我试图给用户一个静态文件文件夹,从他们的chroot内部提供服务。下面的代码基本上可以在其他条件下工作,而不包含DBDocRoot指令,只是没有达到预期的效果。mod_vhost_dbd是否与mod_rewrite不兼容?它的部分工作原理是,请求命中正确的python脚本,然后执行其他一些操作并启动wsgi应用程序 使用此代码,rewrite.log中不会记录任何内容。如果注释掉DBDocRoot指令行,则会记录这些内容,但重写规则当然不起作用,因为${ENV:username}是空字符串。当从

我试图给用户一个静态文件文件夹,从他们的chroot内部提供服务。下面的代码基本上可以在其他条件下工作,而不包含DBDocRoot指令,只是没有达到预期的效果。mod_vhost_dbd是否与mod_rewrite不兼容?它的部分工作原理是,请求命中正确的python脚本,然后执行其他一些操作并启动wsgi应用程序

使用此代码,rewrite.log中不会记录任何内容。如果注释掉DBDocRoot指令行,则会记录这些内容,但重写规则当然不起作用,因为${ENV:username}是空字符串。当从mysql控制台运行时,查询工作得非常好

LoadModule vhost_dbd_module /usr/lib/apache2/modules/mod_vhost_dbd.so
DBDExptime 5

<VirtualHost *:80>
    ServerAlias *

    RewriteEngine On
    RewriteLog "/var/log/apache2/rewrite.log"
    RewriteLogLevel 9

    DBDriver mysql
    DBDParams host=amysqlhost,user=abdbuser,pass=private,dbname=adbname
    DBDocRoot "SELECT concat('/mnt/user_storage/webscripts/', username, '/user_script.py'), username from user, userdomain where user.id = userdomain.user_id and userdomain.domain_name = %s" HOSTNAME

    RewriteCond /mnt/user_storage/homedirs/%{ENV:username}/var/www/static%{REQUEST_URI} -f
    RewriteRule ^/(.*) /mnt/user_storage/homedirs/%{ENV:username}/var/www/static/$1 [L]

</VirtualHost>

是否有其他人成功使用此模块设置环境变量?上面的注释说这是可以做到的

回答我自己的问题,不,我在这里试图做的是不可能的。