Bugzilla REST API仅产生404错误

3
我在 Windows 7 上安装了 Bugzilla,使用 Apache 2.4 进行访问,地址为 http://localhost:80/bugzilla/。当我在浏览器中输入该地址时,会看到 Bugzilla 的主页,我可以登录管理员账户,一切正常。
我在 Bugzilla 文档中读到,Bugzilla 有一个“本地 REST API”可用于与其交互。例如,发送 GET 请求到地址:/rest/version 将返回已安装的 Bugzilla 版本;问题是它没有!
我构建了一个请求:http://localhost:80/bugzilla/rest/version,但我得到了一个 404未找到 错误。对于 rest 文档示例 中的“任何”请求,我都会得到这个确切的结果。
我错过了什么?我做错了什么?

顺便提一下,checksetup.pl显示我的安装缺少这3个包:

perl-ldap mod_perl Apache-SizeLimit

这可能是原因吗?


更新1:已安装perl-ldap (Net::LDAP)。但是cheksetup.pl仍显示为未安装,问题仍存在。
更新2:已安装LDAP,但问题仍然存在 :(

相关但不同的错误:https://dev59.com/xWPVa4cB1Zd3GeqP3jeM - StayOnTarget
2个回答

5
我的Bugzilla安装也返回“404未找到”错误。 我必须使用这个URL来正常工作:http://localhost:80/bugzilla/rest.cgi/version Bugzilla安装附带一个默认的“.htaccess”文件,它执行重写操作。
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteOptions 
inherit RewriteRule ^rest/(.*)$ rest.cgi/$1 [NE] 
</IfModule> 

我只需要执行"a2enmod rewrite"和"service apache2 restart"命令,就可以启用Apache模块,然后URL"website/rest/version"就正常工作了。

1
如果 /rest/version 无法工作,但 /rest.cgi/version 可以工作,那么这个问题可能与 Apache 的 mod_rewrite 配置有关。 - pzn

0
我找到了一个简单的解决方案,你需要在 REST API 链接中将 /rest/ 替换为 /rest.cgi/。
例如:获取 bug 详细信息的 REST API。
==> http:your bugzila ip/rest.cgi/bug (这个 rest.cgi 语法完美地工作)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接