mod_rewrite htaccess

Mod _ rewrite ist ein Apache Modul, dass das Umschreiben von Internetadressen ermöglicht.
Damit eine Website angesehen werden kann, muss sie auf einen Server liegen. Apache ist verkürzt erklärt, ein Betriebssystem für einen Server.

Die Datei .htaccess ist eine Konfigurationsdatei, die mit dem Apache kommuniziert. Mit dieser .htaccess kann man Passwörter vergeben und eben die Befehle eintragen, damit das mod_rewrite Modul des Apache weiß was es zu tun hat.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^webdesign-in.de$ [NC]
RewriteRule ^(.*) http://www.webdesign-in.de/$1 [R=301]

Dies befiehlt dem Apache:
Egal ob jemand in die Adresszeile des Browsers (IE,Mozilla, Firefox) die Internetadresse von webdesign-in.de mit oder ohne www voran eingibt, mache immer eine Adresse mit www voran daraus.
Probieren Sie es aus:

http://webdesign-in.de

wandelt sich automatisch in

http://www.webdesign-in.de

um.
Somit wird zb doppelter Content für die Suchmaschinen verhindert.

mts

Ebenfalls informativ und lesenswert

16 Kommentare zu “mod_rewrite htaccess

  1. Pingback: Permalinks

  2. Christoph

    Hallo Monika,

    wie Du siehst, wühle ich mich langsam durch Deine umfangreiche Ratschlag-Datenbank, um meine eigene Seite ein wenig zu optimieren.
    Da die Inhalte jetzt stehen, habe ich Zeit, mich mehr mit der Optimierung zu beschäftigen.
    Hierzu meine nächste Frage:
    Erfüllt eigentlich eine Weiterleitung, die ich über confixx vornehme

    (Eingabe 'http://xyz.com' soll auf 'http://www.xyz.com' weitergeleitet werden)
    

    dieselbe Funktion wie mod_rewrite ?
    Wird in diesem Fall die Funktion ‚Verhinderung von doppeltem Content‘ erfüllt ?

    Danke und Grüße
    Christoph

  3. mts

    Hi Christoph
    wichtig ist, dass es eine sogenannte 301 -redirect permanent – Weiterleitung ist,

    ob man über den Weg, den Du gehst auch ’nur‘ eine 302 Weiterleitung machen kann, bin ich ganz ehrlich überfragt- da muss Robert aka Nullbyte antworten.;)- so Du ihn fragst.

    lg

  4. Hochzeiter

    Hallo,
    Bei einer meiner Homepages habe ich bei 1und1 nur den URL, nicht den Space dazu gebucht, d.h. ich habe bei 1und1 ein Weiterleitungsziel vorgeben
    müssen:

    http: // meinVerz/ user/ 

    (nur Beispiel)
    Jetzt habe ich mit einem Backlinkchecker festgestellt, dass diese Seite auch unter

    http: // mein1Verz /user/ 

    und

    http: //  meinVerz/ ~user/ 

    mit zum Teil
    unterschiedlichem PR auf meine anderen Seiten zeigen. (Info: im Verzeichnis user gibt neben htm-Seiten auch noch andere
    Verzeichnisse).
    Das ist natürlich nicht gut. Deshalb möchte mit einer .htaccess-Datei eine entsprechende Umleitung machen, mir fehlt aber leider das nötige Wissen. Im WWW gibt es zwar hunderte von Seiten, aber das
    Thema ist für einen Unerfahrenen wie mich doch recht kompliziert.
    Kann mir hier jemand mit einem passenden .htaccess-Code helfen?
    Gruß und Danke

    edit von mts :
    die links unbrauchbar gemacht, sonst habe ich tote Links hier 😉

  5. Stephan

    Hallo, habe dringendes Anliegen zur htaccess datei!
    Ich bekomme das nicht hin^^
    was muss ich in die htaccess datei schreiben damit wenn ich auf meine HP gehe,mir auch nur

    www.*****.de

    IMMER angezeigt wird auch wenn ich auf eine andere seite auf der HP gehe??? Das dann da Nicht steht zB

     www.   ******.   de/index.html

    oder Endung team. html. Es soll immer

    http:   //  www.****.de 

    angezeigt werden in der Adressleiste!

    Danke für Hilfe

    SilverStar-Radio.de

    edit von mts:
    Musterlinks unbrauchbar gemacht, sonst habe ich tote Links hier;)

  6. mts

    Stephan
    das geht nur, wenn du ein Frameset verwendest.

    Sonst kommt keiner mehr zu Deinen Dateien 😉

    lg

  7. Hans Werner Frerix

    Hallo, ich brauche Hilfe. Unsere Page ist mit 4 Adressen erreichbar, das soll mit Mod_rewrite zu Ändern sein. Nur, ich habe überhaupt keine Ahnung.
    Freundliche Grüße
    Hans Werner Frerix

    messebau-alpha.de

  8. Asmus

    Vielen Dank für die einfache und ausgezeichnete Hilfe.

    Beste Grüße
    Tei aus Berlin

  9. Pingback: Permalink ändern - ein Erfahrungsbericht

  10. Fränkle

    Guten Tag an alle,
    ein Kunde von mir betreibt einen 1&1 Shop.
    Diesem soll nun eine index.html vorgeschaltet werden.
    Wenn ich die index.html in das shop verzeichnis lege wird diese aber nicht geladen. Also muss die .htacces umgeschrieben werden.

    Kann dies bitte einer hier ?

    Anbei der jetztige .htacces code
    Die index liegt unter /shop209265140/index.html (4pfotenland.de/index.html)

    
    RewriteEngine on
    RewriteCond %{SERVER_PORT} ^443
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^([^/?]+)/category_([^/?]+)/([^/?]+)/?$ tinc?shop=online&key=mi5YtZ6Q&language=$1&part=catalog&page=browse&ecid=$2&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^443
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^category_([^/?]+)/([^/?]+)/?$ tinc?shop=online&key=mi5YtZ6Q&part=catalog&page=browse&ecid=$1&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^443
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^([^/?]+)/article_([^/?]+)/([^/?]+)/?$ tinc?shop=online&key=mi5YtZ6Q&language=$1&part=catalog&page=details&aid=$2&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^443
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^article_([^/?]+)/([^/?]+)/?$ tinc?shop=online&key=mi5YtZ6Q&part=catalog&page=details&aid=$1&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^443
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^([^/?]+)/([^/?]+)/([^/?]+)/?$ tinc?shop=online&key=mi5YtZ6Q&language=$1&part=$2&page=$3&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^443
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^([^/?]+)/([^/?]+)/?$ tinc?shop=online&key=mi5YtZ6Q&part=$1&page=$2&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^443
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^([^./?]+)/?$ tinc?shop=online&key=mi5YtZ6Q&language=$1&part=page&page=intro&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^443
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^/?(([^.])*)$ tinc?shop=online&key=mi5YtZ6Q&part=page&page=intro&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^80
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^([^/?]+)/category_([^/?]+)/([^/?]+)/?$ /tinc?shop=online&key=mi5YtZ6Q&language=$1&part=catalog&page=browse&ecid=$2&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^80
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^category_([^/?]+)/([^/?]+)/?$ /tinc?shop=online&key=mi5YtZ6Q&part=catalog&page=browse&ecid=$1&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^80
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^([^/?]+)/article_([^/?]+)/([^/?]+)/?$ /tinc?shop=online&key=mi5YtZ6Q&language=$1&part=catalog&page=details&aid=$2&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^80
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^article_([^/?]+)/([^/?]+)/?$ /tinc?shop=online&key=mi5YtZ6Q&part=catalog&page=details&aid=$1&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^80
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^([^/?]+)/([^/?]+)/([^/?]+)/?$ /tinc?shop=online&key=mi5YtZ6Q&language=$1&part=$2&page=$3&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^80
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^([^/?]+)/([^/?]+)/?$ /tinc?shop=online&key=mi5YtZ6Q&part=$1&page=$2&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^80
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^([^./?]+)/?$ /tinc?shop=online&key=mi5YtZ6Q&language=$1&part=page&page=intro&%{QUERY_STRING} [L]
    RewriteCond %{SERVER_PORT} ^80
    RewriteCond %{REQUEST_URI} !(^/tinc.*) [NC]
    RewriteRule ^/?(([^.])*)$ /tinc?shop=online&key=mi5YtZ6Q&part=page&page=intro&%{QUERY_STRING}
    
  11. Typo3 Freelancer

    Hallo,

    wie kann man mit mod_rewrite ganz simpel alle Dateien mit der Endung .php auf .html umleiten lassen?

  12. T.Koehn

    Okay, Apache als „Betriebssystem für einen Server“ zu beschreiben ist etwas arg.
    Wie auch immer,
    lieber Kommentar über mir.

    RewriteBase /
    RewriteRule ^(.*).html$ ^(.*).php$
    

    wäre das einfachste

  13. T.Koehn

    …mehr Kaffee.

    *RewriteRule ^(.*).html$ $1.php
    

    So sollte die RewriteRule aussehen…

  14. Henri

    Den Code vergessen….
    Ich hab es so gelöst

    RewriteCond %{QUERY_STRING} q=
    RewriteRule ^(.*)$ index.php [R=404,L]