尝试在Windows 7上使用带有fastcgi的apache 2.2来设置ReviewBoard服务器(不,Linux不是一个选项)。我正在使用(基本上)默认的httpd.conf,加载了mod_fcgid和mod_rewrite,以及
底部添加了Include C:\mars\reviews\conf\apache-fastcgi.conf
。这也是默认值,Order
,Allow
和+Indexes
除外。问题是,当我尝试加载网站时,/
获得403(根据重写规则,它将成为reviewboard.fcgi
)。我添加+Indexes
来证明是的,事实上,我可以访问这些目录,因此它似乎不是权限问题。
当我添加ExecCgi
时,这些403错误会变成404错误!我在我的智慧结束,在我的头上。
C:\mars\reviews\conf\apache-fastcgi.conf
(编辑ServerName
)的内容:
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi
</IfModule>
<IfModule mod_fastcgi.c>
AddHandler fastcgi-script .fcgi
FastCGIServer "c:/mars/reviews/htdocs/reviewboard.fcgi" -socket "c:/mars/reviews/tmp/fastcgi.sock"
</IfModule>
<VirtualHost *:80>
ServerName #redacted
DocumentRoot "c:/mars/reviews/htdocs"
# Alias static media requests to filesystem
Alias /media "c:/mars/reviews/htdocs/media"
Alias /errordocs "c:/mars/reviews/htdocs/errordocs"
# Error handlers
ErrorDocument 500 /errordocs/500.html
<Directory "c:/mars/reviews/htdocs">
Options +Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
# Direct all other requests to the fastcgi server
RewriteEngine on
<IfModule mod_fcgid.c>
RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]
RewriteRule ^/(errordocs.*)$ /$1 [QSA,L,PT]
</IfModule>
<IfModule mod_fastcgi.c>
RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]
RewriteRule ^/(errordocs.*)$ /$1 [QSA,L,PT]
</IfModule>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ /reviewboard.fcgi/$1 [QSA,L]
</VirtualHost>
这里究竟出了什么问题?
答案 0 :(得分:0)
在我看来,你已经安装了mod_fcgid,但是FastCGIServer-statement在mod_fastcgi-section中。我从这里开始。
答案 1 :(得分:0)
在ReviewBoard与Christian Hammond交谈后,他向我指出this django ticket。事实证明,django不支持Windows上的FastCGI!