Raffi: Probleme mit Umlauten bei Apache

Hallo zusammen

Bei Apache 1.3.X hatte ich keine Probleme die Url:
/testserver/pdm/PDM Data/1.0 Deutsch/04 Präsentationen/AD 2001.pdf
aufzurufen.

Klar hab ich die Url zuvor mit rawurlencode codiert.

Jetzt beim Apache 2 kommt folgende Fehlermeldung

You don't have permission to access /testserver/pdm/PDM Data/1.0 Deutsch/04 Präsentationen/AD 2001.pdf on this server.

Die Datei ist zwar in einem geschützten Verzeichnis, aber es geht auch nicht, wenn das Verzeichnis nicht gesützt ist.

Woran lieg das?

Danke und Gruss
Raffi

  1. Hallo,

    Du hast vergessen, anzugeben, auf welchem OS das ganze laeuft
    und welche Apache-Version Du genau verwendest.
    Das koennte den Server-Spezialisten hier im Forum vermutlich
    weiterhelfen...

    /testserver/pdm/PDM Data/1.0 Deutsch/04 Präsentationen/AD 2001.pdf

    Wer immer diese Verzeichnisstruktur und Dateinamen erfunden hat,
    gehoert geteert und gefedert.
    Wenn er sich wieder erholt hat, soll er das lesen:
    http://selfhtml.teamone.de/html/allgemein/dateinamen.htm

    Gruesse,

    Thomas

    1. Hallo

      Das ganze ist nicht so einfach! Das ist eine vorgegeben Verzeichnisstruktur von Ordnern und PDF's ab einer CD des Kunden. Und diese darf nicht verändert werden. Daher die Umlaute. Ich selber bin nicht so blöd und verwende diese Umlaute in dateinamen.

      Also OS => Windows 2000
      Apache => 2.0.47
      PHP => 4.3.3

      Danke und Gruss
      Raffi

      1. hallo Raffi,

        Das ist eine vorgegeben Verzeichnisstruktur von Ordnern und PDF's ab einer CD des Kunden. Und diese darf nicht verändert werden.

        Dann stimmt irgendwas mit deinem Pfad nicht:

        /testserver/pdm/PDM Data ...

        müßte eigentlich mit einem Laufwerksbuchstaben beginnen, es sei denn, du hast einen Alias dafür gesetzt. Außerdem ist es mehr als ungewöhnlich, Dateien von einer CD über einen Webserver aufrufen zu wollen.
        Ein Kunde, der so etwas will, auf "seinem" Betriebssystem beharrt und solche unsinnigen Pfade für unveränderlich hält, gehört geteert, gefedert, gevierteilt und zu lebenslangem EDV-Entzug verurteilt.

        Daher die Umlaute.

        Die vermutlich uninteressant sind. Aber was ist denn an der Fehlermeldung

        You don't have permission to access ...

        so unverständlich? Hast du denn mal versucht, dich in deinem übrigens wirklich völlig unsinnigen Pfad von Ebene zu Ebene vorzuarbeiten? Kannst du auf andere Verzeichnisse dieser CD zugreifen?

        Grüße aus Berlin

        Christoph S.

        1. Also nochmals....Ihr habt mich falsch verstanden.....
          Die Daten liegen nicht auf ner cd...sondern kommen von ner cd und liegen im doc verzeichnis des apache:

          Das Problem sind die Umlaute:

          Nach der rawurlencode heisst der Pfad:

          http://localhost/testserver/pdm/pdm/PDM%20Data/1.0%20Deutsch/21%20Vorsch%FCbe/BBV%20%2090_85/15%20Technische%20Beschreibung/BBV%2090_85%20DE.pdf

          Also....da haben wir das ü => %FC

          Wenn ich dir url nun so abändere:

          http://localhost/testserver/pdm/pdm/PDM%20Data/1.0%20Deutsch/21%20Vorsch%C3%BCbe/BBV%20%2090_85/15%20Technische%20Beschreibung/BBV%2090_85%20DE.pdf

          Dann gehts

          hier das ü => %C3%BC

          Gibt es da was um in PHP die URL _richtig_ zu codieren das die Umlaute wie in der 2 Url rauskommen? Oder gibt es eine Einstellungsmöglchkeit in Apache das er auch %FC als ü interpretiert? Oder bleibt mir nur die mühsame alternative die ganze url zu zerlegen und alle ü ä ö usw. durch den entsprechenden Code zu ersetzen? Komisch ist, mit Apache 1.3 ging es....

          Hör bitte auf mit dem geteert usw! Ich weiss es ja! Aber kennst Du den Spruch: "ist so, weil ist so" ?

          Gruss
          Raffi

          1. hallo Raffi,

            Ihr habt mich falsch verstanden...

            Nö. Du hast dich bloß nicht richtig ausgedrückt.

            Die Daten liegen nicht auf ner cd...sondern kommen von ner cd und liegen im doc verzeichnis des apache

            Was hindert dich daran, deinen Apache so einzurichten, daß er eine ordentliche Verzeichnisstruktur auslesen darf?

            Gibt es da was um in PHP die URL _richtig_ zu codieren das die Umlaute wie in der 2 Url rauskommen?

            Mit Sicherheit. Ich würde es mit RegExpressions versuchen.

            Oder gibt es eine Einstellungsmöglchkeit in Apache das er auch %FC als ü interpretiert?

            Auch das sollte möglich sein, siehe http://httpd.apache.org/docs-2.0/urlmapping.html#rewrite und  http://httpd.apache.org/docs-2.0/misc/rewriteguide.html#url. Allerdings habe ich noch nie vor der Notwendigkeit gestanden, solche unsinnigen Pfade zu "übersetzen" und weiß also nicht aus eigener Erfahrung, ob und wie sowas funktioniert.

            Oder bleibt mir nur die mühsame alternative die ganze url zu zerlegen und alle ü ä ö usw. durch den entsprechenden Code zu ersetzen?

            Das wäre, wenn auch vielleicht mühsam, doch wahrscheinlich erfolgversprechend.

            Grüße aus Berlin

            Christoph S.