Dateiendungen anpassen mit mod_rewrite

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

Dateiendungen anpassen mit mod_rewrite

Postby nix » 27. July 2016 03:05

vorab: Ich bin noch relativ neu zu Linux, habe also nur das allerdnötigste Grundwissen...


Ich habe Apache2 und mod_rewrite installiert und habe das Problem, dass Dateien nicht gefunden werden wenn die Dateiendung ein bisschen abweicht. D.h. eine Bild, das als Bild.JPG gespeichert ist wird nicht eingebunden, wenn im HTML Bild.jpg steht

Könnte man das mit einer .htaccess lösen? Wenn ja wie? (Wie gesagt ich bin noch Anfänger und weiß kaum wie .htaccess funktionieren)
nix
 
Posts: 3
Joined: 27. July 2016 02:59
XAMPP version: latest
Operating System: Raspbian

Re: Dateiendungen anpassen mit mod_rewrite

Postby Altrea » 27. July 2016 06:50

Du kannst das direkt über eine Apache Direktive einstellen: https://httpd.apache.org/docs/2.4/mod/mod_speling.html
Ob das nun zwingend als .htaccess sein muss, sei dir überlassen. Ich persönlich würde es in der Apache config direkt einstellen, außer du möchtest dies nur für ein bestimmtes Verzeichnis so einstellen.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8297
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Dateiendungen anpassen mit mod_rewrite

Postby Nobbie » 27. July 2016 10:14

Ich halte das für ein sehr zweischneidiges Schwert, habe selbst die Erfahrung gemacht, dass auf einem Server das entsprechende Modul installiert war und die Seite anscheinend wunderbar lief. Nach einem Serverumzug auf einen Konkurrenten bekam ich auf einmal Fehlermeldungen und hatte ziemlich Probleme, die Ursache zu finden (weil ich ja der irrigen Meinung war, meine Links wären alle richtig).

Man tut sich eigentlich keinen Gefallen damit, dass man fehlerhafte Links in seinen Seiten läßt und sich auf eine mehr oder minder intelligente Laufzeitkorrektur verläßt. Sicherlich ist es erheblich besser, wenn man die Links nicht fehlerhaft formuliert, das läuft nämlich auf allen Servern der Welt. Und nicht nur auf den paar Apache Servern, wo dieses Modul installiert ist.
Nobbie
 
Posts: 8779
Joined: 09. March 2008 13:04

Re: Dateiendungen anpassen mit mod_rewrite

Postby Altrea » 27. July 2016 10:39

Dem kann ich mich nur anschließen.
In Dateinamen und URLs durchgängig nur Kleinbuchstaben, Ziffern, Punkte und bei Bedarf Bindestriche oder Unterstriche verwenden, dann klappts auch mit dem Nachbarn :)
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8297
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: Dateiendungen anpassen mit mod_rewrite

Postby nix » 27. July 2016 19:57

Das Problem ist dass die Nikon von meinem Vater die Bilder immer in Caps speichert (also auch die Dateieindung). Die Alternative wäre natürliche entweder jede JPG Datei extra umbennen oder dafür ein PHP(?) Skript zu schreiben. Aber ihr habt natürlich grundsätzlich recht ^^
nix
 
Posts: 3
Joined: 27. July 2016 02:59
XAMPP version: latest
Operating System: Raspbian

Re: Dateiendungen anpassen mit mod_rewrite

Postby Nobbie » 27. July 2016 20:11

nix wrote:Das Problem ist dass die Nikon von meinem Vater die Bilder immer in Caps speichert (also auch die Dateieindung).


Ja und? Dann schreibst Du es im HTML Link eben auch groß, ich verstehe nicht ansatzweise das Problem?!

Last not least eben ein kleines Script (es muss nicht PHP sein, kann auch ein Shell Script sein), um alle Dateien umzubenennen. Ist alles kein Zauberwerk und auch keine große Mühe.
Nobbie
 
Posts: 8779
Joined: 09. March 2008 13:04

Re: Dateiendungen anpassen mit mod_rewrite

Postby nix » 27. July 2016 20:44

Is eh kein großes Problem, ich mags halt lieber wenn die Dateiendungen klein sind, so wie normalerweise auch. Außerdem geht's mir auch um den Lernfaktor. Danke jedenfalls für die Hilfe :)
nix
 
Posts: 3
Joined: 27. July 2016 02:59
XAMPP version: latest
Operating System: Raspbian

Re: Dateiendungen anpassen mit mod_rewrite

Postby Nobbie » 28. July 2016 11:45

Wenn Du etwas lernen willst, dann aber auch richtig. Das Problem liegt nämlich nicht an "der Nikon" Deines Vaters, sondern am Filesystem FAT32, welches für SD Karten üblicherweise genommen wird. Wahrscheinlich legst Du diese Karte in irgendeinen Cardreader oder schließt die Kamera auch direkt an den Computer an und kopierst die Dateien dann auf Deinen Linux Rechner (Raspbian?).

FAT32 war unter Windows so designed, dass Groß/Kleinschreibung eigentlich keine Rolle spielte, im Gegensatz zu Linux Dateisystemen. Aber FAT32 kann Groß- /Kleinschreibung, man hat das im Linux Kernel berücksichtigt, Dateisystem (wie Festplatten, CD Laufwerke, SD Karten, USB Sticks usw.) werden mit dem "mount" Befehl eingebunden, im mount-Befehl wird u.a. auch der Filesystem Typ angegeben, für FAT32 lautet die offizielle Linuxbezeichnung "vfat". Wenn man ein Dateisystem vom Typ "vfat" mounted, dann gibt es im Mountbefehl u.a. einen Parameter der sich "shortname" nennt. Für diesen Parameter kann man verschiedene Werte angeben.

Einer dieser Werte heißt "mixed" (also "shortname=mixed"), wenn das gesetzt ist, dann werden die Dateien unter Linux genauso benannt und angezeigt, wie sie auf dem Dateisystem liegen und da spielt nun doch die Kamera auch eine Rolle, die legt wahrscheinlich die Namen komplett in Großbuchstaben an. Das heißt übrigens "shortname", weil das früher (vor vielen Jahren) übliche Weg war, die Dateien benannt wurde, die durften nämlich nur 8 Stellen lang sein, da durfte kein Sonderzeichen bei sein (als keine Leerstellen oder so), dann muss der Punkt kommen und dann müssen drei Stellen Erweiterung kommen. Heute können die Dateisysteme viel komplexere Dateinamen, aber früher unter MS-DOS (lang lang ist es her) gab es nur diese Kurznamen bzw. shortnames.

Der Trick besteht jetzt darin, nicht "shortname=mixed" anzugeben beim mounten der SD-Karte, sondern "shortname=lower". Dann werden alle Dateien, die einen gültigen Shortname haben (das sind also alle Dateien mit max. 8 Stellen plus Punkt plus 3 Stellen Erweiterung, u.a. also auch Dateien wie DCSF0001.JPG oder so, das wäre so ein typischer Name einer Digitalkamera, die Namen unterscheiden sich von Hersteller zu Hersteller, bei Canon heißen sie nur IMG_0123.JPG oder so), nach dem Mounten in Kleinschreibweise dargestellt (egal wie es "in echt" auf der SD Karte steht) und wenn man die Dateien dann herunter kopiert, dann werden auf dem Zielsystem, welches meistens kein FAT32 bzw. vfat ist, auch in Kleinbuchstaben angelegt und das ist genau das, was Du haben willst.

Bleibt noch eine durchaus anspruchsvolle Fleißaufgabe übrig: Du musst herausfinden, wo in Deinem System der Wert "shortname=mixed" für vfat festgelegt ist und musst dort stattdessen "shortname=lower" eintragen. Das ist leider wieder einmal von Distribution zu Distribution unterschiedlich, hängt auch vom Windowmanager ab (ob Gnome oder KDE oder was auch immer) und am besten hangelst Du Dich in jedem Fall durch das "mount" Manual (in einem Terminal "man mount" eingeben) und klapperst auch Foren ab (so weit ich weiß, ist Raspbian ein Debian Linux für den Raspberry, da müßte ein Debian Forum helfen können). Du kannst aber auch erst einmal händisch testen, in dem Du eine schon gemountete Karte "unmount"st und neu mit eigenem mount-Befehl mountest und dann dort shortname=lower eingibst, dann sollten die Dateinamen schon klein erscheinen. Aber dann hat man eben noch nicht erreicht, dass das automatisch so gemountet wird.
Nobbie
 
Posts: 8779
Joined: 09. March 2008 13:04


Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 1 guest