尝试在 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>
这里到底出了什么问题??