mod_rewrite规则为不同的子域运行fcgi

在我的共享主机服务器(Hostmonster)上,我设置了django(实际上是pinax),这样一个.htaccess mod_rewrite规则会将请求重写为一个pinax.fcgi文件:

RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ pinax.fcgi/$1 [QSA,L] 

我想要做的是有一个不同的pinax.fcgi文件被调用,取决于使用的域(或子域),如下所示:

 RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ pinax2.fcgi/$1 [QSA,L] RewriteCond %{HTTP_HOST} ^domain\.com$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ pinax.fcgi/$1 [QSA,L] 

这存储在我的ROOT public_html文件夹(不是在public_html /子域/文件夹).htaccess文件,但不幸的是只是导致内部redirect错误。 我如何编写这些规则,以便他们为不同的域使用不同的fcgi文件?

我想到了。

在根.htaccess(在public_html)把:

 RewriteEngine on RewriteCond %{HTTP_HOST} !^subdomain\.domain\.com$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ pinax.fcgi/$1 [QSA,L] 

在你的子域.htaccess(在public_html / subdomain)把:

 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ pinax2.fcgi/$1 [QSA,L] 

pinax2.fcgi需要在public_html / subdomain /目录下,pinax.fcgi应该在public_html /