Jürschn: Gorß/Kleinschreibung von URL's

Hi,

gleich zum Problem:  hab vor kurzem eine komplett Homepage auf einen anderen Server "umziehen" lassen. Allerdings unterscheidet der neue Server nach Groß/Kleinschreibung der Verzeichnis und Dateinamen, was nun zu Folge hat das etliche Links/Bilder ect. nicht mehr angezeigt werden.

Da es aber zu lange dauern würde die ganzen Links,Bildaddressen,ect... abzuändern, suche ich nach einer Möglichkeit mittels htaccess diese Groß/Kleinschreib-Unterscheidung abzuschalten.

Schonmal im voraus besten Dank, hoffe mir kann wer dabei helfen.

Mit freundlichen Grüßen
Jürschn

  1. Hallo Jürschn.

    Da es aber zu lange dauern würde die ganzen Links,Bildaddressen,ect... abzuändern, suche ich nach einer Möglichkeit mittels htaccess diese Groß/Kleinschreib-Unterscheidung abzuschalten.

    Abschalten kannst du sie nicht, da sie ein fester Bestandteil der Dateiverwaltung unter Linux-Systemen ist.

    Gruß, Ashura

    --
    Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:( ls:# js:|
    Try it: Become an Opera Lover in 30 days
  2. Hi,

    gleich zum Problem:  hab vor kurzem eine komplett Homepage auf einen anderen Server "umziehen" lassen. Allerdings unterscheidet der neue Server nach Groß/Kleinschreibung der Verzeichnis und Dateinamen, was nun zu Folge hat das etliche Links/Bilder ect. nicht mehr angezeigt werden.

    ggf. könnte mod_speling helfen, falls das Modul installiert ist …

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  3. use Mosche;

    gleich zum Problem:  hab vor kurzem eine komplett Homepage auf einen anderen Server "umziehen" lassen. Allerdings unterscheidet der neue Server nach Groß/Kleinschreibung der Verzeichnis und Dateinamen, was nun zu Folge hat das etliche Links/Bilder ect. nicht mehr angezeigt werden.

    Zu Beginn: mod_speling sollte, wie bereits gesagt, helfen. Siehe dazu Doku zu mod_speling

    Es gibt auch noch eine andere Möglichkeit, die allerdings ein "wenig" häßlich ist:

    Du brauchst dazu ein kleines Progrämmchen to_lowercase, Zugriff zur Apache-Konfig und mod_rewrite.

    Der Reihe nach:

    Benenne erstmal alle Dateien um, so daß sie nur in Kleinbuchstaben geschrieben sind.
    Dann speicherst du das untenstehende Programm einfach als to_lowercase ab, außerhalb des DocumentRoot und machst es ausführbar.

    <cite to_lowercase>
    #!/usr/bin/perl -w
    $|++;
    print lc($_) while(<STDIN>)
    </cite>
    Dieses Programm wandelt einfach alles, was es auf der Standard-Eingabe bekommt, in Kleinbuchstaben um.

    Dann editierst du die Apache-Konfig und ergänzt folgendes (in deinem VirtualHost):
      RewriteEngine on
      RewriteMap    to_lowercase prg:/dein/pfad/zu/to_lowercase
      RewriteRule   (.*)  ${lowercase:$1}

    Folgendes passiert dadurch:
    durch RewriteEngine schaltest du mod_rewrite an.
    Die RewriteMap-Direktive definiert quasi eine "Funktion" namens to_lowercase, die den übergebenen String in Kleinbuchstaben verwandelt und zurückgibt (das macht das to_lowercase-Programm).
    Die RewriteRule am Ende wandelt alle Zugriffe auf die die entsprechend klein-geschriebene URL  um.

    use Tschoe qw(Matti);

    --
    Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
    Webapplikationen in C++ entwickeln
    1. use Mosche;

      Kleiner Fehler hier:

      RewriteMap    to_lowercase prg:/dein/pfad/zu/to_lowercase
        RewriteRule   (.*)  ${lowercase:$1}

      Da muß es ${to_lowercase:$1} heißen.

      use Tschoe qw(Matti);

      --
      Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
      Webapplikationen in C++ entwickeln