Wie Space in Filenamen mit mod_rewrite ersetzen?
am 04.06.2011 - 09:20 Uhr in
Hallo zusammen,
in einer Drupal 6 Seite gibt es ein HTTP Upload-Formular mit der Möglichkeit, Dateien direkt in ein Amazin S3 Bucket hochzuladen, also unter Umgehung des Drupal-Fileystems.
Das funktioniert, hat aber einen Schönheitsfehler: lädt nämlich jemand Dateien hoch, die einen Leerzeichen im Dateinamen haben, meinetwegen "mein urlaubsbild.gif", dann heisst die Datei nach dem Upload "mein%2520urlaubsbild.gif".
Ich würde gerne über mod_rewrite den Apache anweisen, alle Leerzeichen in Upload-Dateien durch einen Unterstrich zu ersetzen, weiss aber nicht wie.
Kann mir vielleicht jemand einen Tipp geben, wie ich das in der Drupal htaccess Datei eintragen kann?
Danke und Grüsse
Rhodes
- Anmelden oder Registrieren um Kommentare zu schreiben
Transliteration
am 04.06.2011 - 10:38 Uhr
Hallo.
Wenn Du die Dateinamen per htaccess verändert, kannst Du unter Umständen nicht mehr auf die Dateien zugreifen.
Besser ist es, die Dateien gar nicht erst mit Sonderzeichen (dazu gehören auch Leerzeichen) abzuspeichern. Schau Dir mal das Modul [do:transliteration Transliteration] an. Damit kann man die Dateinamen direkt vor dem Speichern "sauber" benennen.
Stefan
Dateien werden nicht gespeichert
am 04.06.2011 - 12:19 Uhr
Hallo Stefan,
danke für die Antwort. Das sieht sehr interessant aus. In meinem Fall hilft es aber nix, da die Dateien NICHT im Drupal system gespeichert werden. Nur das Uploadformular wird über Drupal ausgeliefert.
Der Upload selber geht direkt zu Amazon S3 Storage System, Drupal verarbeitet das Formular nicht.
Rhodes