3

我无法从我的 Windows SVN 客户端 (TortoiseSVN) 提交 .htaccess 文件。返回的错误是:

无法读取状态行:现有连接被远程主机强行关闭。

这基本上是我的虚拟主机在 Apache 中的样子:

<VirtualHost *:80>
  DocumentRoot /var/www/mydomain.com/legacy/trunk/html
  ServerName mydomain.com

  <Directory /var/www/>
    FileETag MTime Size
    AllowOverride All
  </Directory>

  <Directory /var/www/tools>
    AllowOverride All
  </Directory>

  <Location /svn>
    DAV svn
    SVNPath /var/svn/repos/MyRepo

    # Limit write permission to list of valid users.
    # Require SSL connection for password protection.
    # SSLRequireSSL
    ErrorDocument 404 default

    AuthType Basic
    AuthName "Authorization Realm"
    AuthUserFile /etc/httpd/conf/.htpasswd
    Require valid-user
  </Location>
</VirtualHost>

如何更改它,以便提交 .htaccess 文件?

4

6 回答 6

5

刚刚发现如何解决该问题 - 只需将其放入您的虚拟主机配置中以覆盖全局 http.conf:

<Files ~ "^\.ht">
    Order allow,deny
    Allow from all
    Satisfy All
</Files>

资源

这肯定是正确的答案(经过测试),但操作员放弃了他的问题:/

于 2011-12-17T10:54:17.093 回答
1

Subversion 是由 Apache 服务器提供的,该服务器也使用 .htaccess 进行访问控制,所以它可能会阻止你做一些你不打算做的事情。

于 2009-10-15T20:04:24.943 回答
0

检查 apache 错误日志文件。您可能会看到有关 svn 服务器未能完成提交的原因的附加信息。

于 2009-10-15T20:28:23.603 回答
0

检查其他 apache 配置文件。在我的默认 /etc/apache2/modules.d/00_default_settings.conf (在 gentoo 安装上),我有一个FilesMatch "^.ht"部分是Deny from all.

我建议grep -r -i "\\.ht" *从 /etc/apache 或 /etc/httpd 或 /etc/apache 目录运行一个,看看你想出了什么。

它也可能是一个AccessFileName指令,因此也可以使用 grep。

于 2009-10-16T05:40:54.313 回答
0

其他文件是否从 TortoiseSVN 提交?

如果提交是从与 TortoiseSVN 在同一个工作副本上的同一框上的 SVN 客户端工作的(您可以验证吗?),那么我的猜测将是不同的 SVN 和 TortoiseSVN 客户端版本导致问题。

TortoiseSVN -> About将报告构建时使用的 SVN 客户端版本。检查您的客户端/服务器版本是否兼容

于 2009-10-16T05:49:26.340 回答
0
<Files ~ "^\.ht">
    Order allow,deny
    Allow from all
    Satisfy All
</Files>

这对我也有用。我在 plesk 服务器上做这件事有点复杂。

将以上行添加到我在创建的 vhost 文件中

/var/www/vhosts/system/[your domain]/conf

我跑了以下重建conf文件

/usr/local/psa/admin/sbin/httpdmng  --reconfigure-domain [your domain]

并且提交成功了!

谢谢,希望这可以帮助人们使用 plesk

于 2016-11-19T13:25:32.567 回答