我正在尝试设置 CGit 和 NGINX。我快完成了,但我的 NGINX 配置文件中的重写规则有问题。
目前我有这个:
server {
listen 80;
server_name cgit.mydomain.com;
index cgit.cgi;
gzip off;
root /usr/share/webapps/cgit;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/cgit.cgi;
location / {
try_files $uri @cgit;
}
location @cgit {
auth_basic "Restricted";
auth_basic_user_file /path/to/my/password_file;
gzip off;
rewrite ^/([^/]+/.*)?$ /cgit.cgi?url=$1 break;
fastcgi_pass fcgiwrap;
}
}
我理解,我所查看的 URLdemo_repo_1.git
应该是这样的http://cgit.mydomain.com/cgit.cgi?url=gitolite-admin.git
(或者类似的东西?),但是它看起来像http://cgit.mydomain.com/cgit.cgi/gitolite-admin.git/
,并且它不起作用(因为cgit.cgi
脚本无法从 URL 中读取正确的数据并且无法显示关于我的存储库的正确信息。
此外,如果我强制使用我认为应该是的 URL(在我的浏览器中复制并粘贴“正确”的 URL),脚本cgit.cgi
就会被下载。
您能帮我解决一下重写规则吗?