目标:
在gerrit上分类管理不同层次的git库,通过目录层次形式分开存放git库,例如app/a.git,platform/b.git……
操作:
1.在gerrit页面用管理员权限创建一个新项目app/abc
2.在gerrit页面创建abc项目,然后在服务器git目录下新建一个app目录,再将已有的abc.git库移动到app目录底下,重启gerrit服务;
3.用gerrit命令行gerritcreate-project命令创建app/abc项目
问题:
操作1无法创建项目,报错:404 Not Found;
操作2和3都能在gerrit页面显示app/abc项目,但是点开项目却报错:CodeReview-Error The page you requested was not found, or you do not havepermission to view this page.
确认操作账户是管理员,目录的权限也没有问题,2和3方式建立的项目可以clone、修改、push到gerrit,但是点开就是报如上错误。
分析:
apache默认的是AllowEncodedSlashesoff,它会禁止URLs路径使用被编码的路径分隔符(例如:“/”被编码为%2F)
解决:
对gerrit站点的apache配置文件中添加一行:AllowEncodedSlashes On,保存并重启apache,搞定~
位置:/etc/httpd/conf/httpd.conf