Moin,

auf einem Apache 2.2.21 funktioniert der WebDAV-Upload mit

* konquerror (Linux getestet)
* WebDrive (XP getestet)
* curl (XP getestet)

Der Upload mit dem Dateiexplorer funktioniert nicht. Wohl aber der Download. Zum Vergleich habe ich die WebDAV-Installation mit Apache 2.0 die abgelöst werden soll. Dort funktioniert der Upload (dafür gibt es andere Probleme).

Der Upload (Dateiexplorer) funktioniert unter Apache 2.0:
1.2.3.4 - renner[11/Jan/2012:15:51:42 +0100] "HEAD /renner/in/avi/Finanzkrise.pdf HTTP/1.1" 404 - 1.2.3.4 - renner[11/Jan/2012:15:51:43 +0100] "PUT /renner/in/avi/Finanzkrise.pdf HTTP/1.1" 201 204

Der Upload (Dateiexplorer) funktioniert nicht unter Apache 2.2
1.2.3.4 192.168.0.100 - renner [11/Jan/2012:15:52:33 +0100] "HEAD /renner/in/avi/Finanzkrise.pdf HTTP/1.1" 302 - "-" "Microsoft Data Access Internet Publishing Provider DAV"

Das anfängliche HEAD soll wohl prüfen ob die Datei am Ziel bereits existiert. Der funktionierende Apache gibt ein 404 (also "Not Found") zurück. Der nicht funktionierende gibt ein 302 (also "Found") zurück. Die Datei lag jeweils nicht im Verzeichnis. Im error-Log steht auch richtig:

File does not exist: /space/dav/htdocs/renner/in/avi/Finanzkrise.pdf

Immerhin funktioniert das Umbenennen einer Datei wenn sie erstmal auf dem Apache 2.2 liegt: 1.2.3.4 192.168.0.100 - renner[11/Jan/2012:16:07:41 +0100] "MOVE /renner/in/avi/Finanzkrise.pdf HTTP/1.1" 201 207 "-" "Microsoft Data Access Internet Publishing Provider DAV"

In der httpd.conf steht u.a.

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully BrowserMatch "Microsoft Data Access Internet Publishing Provider DAV" redirect-carefully was aber nicht ursächlich ist. Ich kommentierte das mal rein und raus. Ohne dass der Upload dann funktionierte.

Im alten (funktionierenden) Apache gibt es noch das mod_msfix. Das lässt sich aber auch ausschliessen, denn versuchsweise habe ich es auf der alten Umgebung abgeschaltet und der Upload funktioniert (nach einem Neustart) noch immer.

Ansonsten ist konfigutiert (hier wie dort):
  <Directory "/space/dav/htdocs/renner">
    Options +All
    AllowOverride None
    order allow,deny
    allow from all
    DAV On
    DavDepthInfinity on
    AuthName "Login area"
    AuthType Basic
<Limit GET PUT POST OPTIONS DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
      Require user renner
    </Limit>
    AuthUserFile /space/dav/var/htpasswd
  </Directory>

Versucht hatte ich auch <Limit HEAD GET PUT POST OPTIONS DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>, das machte aber keinen Unterschied. Auch nicht das vollständige auskommentieren des Limit-Blocks.

Nun frage ich mich: warum gibt der alte Apache ein korrektes 404 zurück, der neue aber einen 302?

Gibt's eine Idee?
Bin für jeden Denkanstoss dankbar!
--
|Michael Renner      E-mail: michael.ren...@gmx.de  |
|81541 Munich        skype: michael.renner.gmx.de   |
|Germany             Don't drink as root!      ESC:wq

--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de" unsubscribe-Anfragen an users-de-unsubscr...@httpd.apache.org
          sonstige Anfragen an users-de-h...@httpd.apache.org
--------------------------------------------------------------------------

Antwort per Email an