Apa­che mod_rewrite Über­sicht: So lei­ten Sie Anfragen wei­ter

Grund die­ses Arti­kels

Vie­le Admi­nis­tra­to­ren und Kun­den wol­len immer wie­der die sel­ben Wei­ter­lei­tun­gen ein­rich­ten. Des­halb stel­len wir hier die wich­tigs­ten Mög­lich­kei­ten zusam­men wie man in Apa­che mit Hil­fe des Rewri­te Moduls Wei­ter­lei­tun­gen ein­rich­ten kann. Falls eine wich­ti­ge Mög­lich­keit fehlt, schrei­ben Sie uns das ger­ne in die Kom­men­ta­re.

Wei­ter­lei­tung von http auf https

Von oben nach unten:

  1. Rewri­te­En­gi­ne anschal­ten. Falls Sie bereits die Rewri­te­En­gi­ne akti­viert haben, muss sie hier nicht zwin­gend noch ein­mal ange­schal­tet wer­den. Wir haben aber oft Vir­tu­al­Hosts auf Port 80 lau­fen, deren ein­zi­ge Auf­ga­be es ist die Anfragen an den Port 443 mit der SSL Ver­schlüs­se­lung wei­ter zu lei­ten.
  2. Die Bedin­gung sagt, „wenn HTTPS nicht an ist“, dann füh­re die Regel aus.
  3. Zei­le:
    1. Die Anfra­ge beginnt mit (^) einem Slash und alles was hin­ter dem Slash steht wird durch die Klam­mern in der ers­ten Varia­ble gespei­chert.
    2. Durch ein Leer­zei­chen getrennt folgt die Ziel­adres­se wohin wei­ter­ge­lei­tet wer­den soll und am Ende der Ziel­adres­se hän­gen wir die zuvor gespei­cher­te Varia­ble wie­der an.
    3. In den ecki­gen Klam­mern ste­hen spe­zi­el­le Anwei­sung, hier, dass mit einem per­ma­nent Redi­rect (R=301) wei­ter­ge­lei­tet wer­den soll und, dass dies die letz­te Regel (L) ist, die aus­ge­führt wer­den soll.

Auf einen bestimm­ten Host­na­men wei­ter­lei­ten

Die Wei­ter­lei­tung auf defi­nier­te Host­na­me hilft dabei Dupli­ca­te Con­tent zu ver­mei­den. Damit sorgt man dafür, dass die eige­ne Sei­te z.B. nur über www.adresse-im-netz.de und nicht über adresse-im-netz.de auf­ge­ru­fen wer­den kann, indem alle Anfragen an andresse-im-netz.de an www wei­ter­ge­lei­tet wer­den.

Von oben nach unten:

  1. Rewri­te Engi­ne anschal­ten
  2. Bedin­gung defi­nie­ren
    1. HTTP_HOST, also der auf­ge­ru­fe­ne Ser­ver­na­me wird ana­ly­siert
    2. Das Aus­ru­fe­zei­chen negiert den Ver­gleich, bedeu­tet hier also HTTP_HOST ist nicht im nach­fol­gen­den regu­lä­ren Aus­druck ent­hal­ten
    3. Das Caret (^) gibt an, dass wir von Anfang an prü­fen
    4. Inner­halb eines regu­lä­ren Aus­dru­ckes ist der Punkt (.) ein
    5. Das Dol­lar­zei­chen ($) gibt an, dass bis zum Ende geprüft wird

Von einem bestimm­ten Host­na­men auf ein Unter­ver­zeich­nis einer ande­ren Sei­te wei­ter­lei­ten

Wenn Sei­ten in bestehen­de Sei­ten z.B. als Kate­go­ri­en inte­griert wer­den, ist es nütz­lich von dem bis­he­ri­gen Host­na­men der alten Sei­te auf die Kate­go­rie­sei­te der neu­en Sei­te wei­ter zu lei­ten.

 Fazit

Das ist nur ein kur­zer Ein­blick in die Welt des sehr mäch­ti­gen mod_rewrite Moduls von Apa­che. Wenn Sie Fra­gen oder spe­zi­el­le Anfor­de­run­gen haben, schrei­ben Sie doch ger­ne einen Kom­men­tar.

Apa­che mod_rewrite Über­sicht: So lei­ten Sie Anfragen wei­ter
5 (100%) 1 Bewertung[en]

Schreiben Sie einen Kommentar