Apache 使用nginx提交的svn失败:未找到路径

Apache 使用nginx提交的svn失败:未找到路径,apache,svn,nginx,Apache,Svn,Nginx,我已经在我的nginx Web服务器上构建了svn服务器。我的nginx配置是 server { listen 80; server_name svn.mysite.com; location / { access_log off; proxy_pass http://svn.mysite.com:81; proxy_set_header X-Real-IP $remote_addr;

我已经在我的nginx Web服务器上构建了svn服务器。我的nginx配置是

server { listen 80; server_name svn.mysite.com; location / { access_log off; proxy_pass http://svn.mysite.com:81; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } } 服务器{ 听80; 服务器名称svn.mysite.com; 地点/{ 访问/注销; 代理通行证http://svn.mysite.com:81; 代理集头X-Real-IP$remote\u addr; 代理设置头主机$Host; proxy\u set\u header X-Forwarded-For$proxy\u add\u X\u Forwarded\u For; } 位置~\.php${ fastcgi_pass 127.0.0.1:9000; fastcgi_index.php; 包括fastcgi_参数; } } 现在,我可以svn co和svn正常启动,没有任何问题 当我尝试提交时,会出现错误:

$svn up At revision 1285. $ svn info Path: . URL: http://svn.mysite.com/elpis-repo/crons Repository Root: http://svn.mysite.com/elpis-repo Repository UUID: 5303c0ba-bda0-4e3c-91d8-7dab350363a1 Revision: 1285 Node Kind: directory Schedule: normal Last Changed Author: alaa Last Changed Rev: 1280 Last Changed Date: 2012-04-29 10:18:34 +0300 (Sun, 29 Apr 2012) $svn st M config.php $svn ci -m "Just a test, add blank line to config" config.php Sending config.php svn: Commit failed (details follow): svn: File 'config.php' is out of date svn: '/elpis-repo/!svn/bc/1285/crons/config.php' path not found $svn以上 第1285次修订。 $svn信息 路径:。 网址:http://svn.mysite.com/elpis-repo/crons 存储库根目录:http://svn.mysite.com/elpis-repo 存储库UUID:5303c0ba-bda0-4e3c-91d8-7DAB3503A1 修订:1285 节点类型:目录 时间表:正常 最后更改作者:阿拉 最后更改版本:1280 最后更改日期:2012-04-29 10:18:34+0300(2012年4月29日星期日) $svn街 M config.php $svn ci-m“只是一个测试,将空行添加到config”config.php 发送config.php svn:提交失败(详细信息如下): svn:文件'config.php'已过期 svn:'/elpis repo/!未找到svn/bc/1285/crons/config.php的路径 如果我尝试在端口81(我的proxy_pass是apache)上执行svn co,然后执行svn ci,它将顺利工作! 但是为什么我使用nginx来完成它时它不起作用呢?

任何想法都将受到高度赞赏。

https://serverfault.com/questions/388835/svn-using-nginx-commit-failed-path-not-found/389021#answer-389021'>引自服务器故障
请求被.php$location块捕获,并通过FastCGI传递给php。您需要确保SVN请求总是代理给Apache。如果这个虚拟主机上不需要PHP,只需删除该location指令即可。如果在特定路径下需要PHP,请使位置块更具体,例如^/phpstuff/*.PHP$。如果不可能,请在PHP块之前添加一个空位置块,以捕获SVN repo路径下的.PHP文件,例如:

location ~ ^/elpis-repo/.*\.php$ {} 位置~^/elpis repo/*\.php${}
参考:

config.php
所在的目录运行时,
svn info
会说些什么?@malenkiy_scot:问题已经编辑,我已经添加了svn信息