Umleitungen via .htaccess: Unterschied zwischen den Versionen
LB (Diskussion | Beiträge) |
LB (Diskussion | Beiträge) |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 45: | Zeile 45: | ||
<br><span class="boxshadow" style="padding:10px;"> | <br><span class="boxshadow" style="padding:10px;"> | ||
− | <span class="border-btm-rot"><tt>RewriteRule</tt></span><tt> </tt><span class="border-btm-blau"><tt>[ | + | <span class="border-btm-rot"><tt>RewriteRule</tt></span><tt> </tt><span class="border-btm-blau"><tt>^[alte URI ab Toplevel]$</tt></span><tt> </tt><span class="border-btm-gelb"><tt>[vollständige neue URI]</tt></span><tt> </tt><span class="border-btm-gruen"><tt>[R=301,L]</tt></span> |
</span> | </span> | ||
Zeile 55: | Zeile 55: | ||
:<span class="border-btm-blau"><tt>'''Bedingung'''</tt></span> | :<span class="border-btm-blau"><tt>'''Bedingung'''</tt></span> | ||
− | :An zweiter Stelle steht die alte | + | :An zweiter Stelle steht die alte URI, also diejenige, von welcher aus umgeleitet werden soll. |
:Von dieser werden allerdings nur der path sowie die query benötigt (siehe {{link|#allgemeiner Aufbau von URIs|Allgemeiner Aufbau von URIs}}). | :Von dieser werden allerdings nur der path sowie die query benötigt (siehe {{link|#allgemeiner Aufbau von URIs|Allgemeiner Aufbau von URIs}}). | ||
− | :Die Bedingung muss | + | :Die Bedingung muss zwingend mit den Parametern<tt> ^ </tt> beginnen und mit<tt> $ </tt>enden. Diese sind kein Bestandteil der URI, sondern zeigen dem Server an, wo die alte URI beginnt und endet. |
Zeile 87: | Zeile 87: | ||
Die Umleitungsregel hierfür lautet demnach: | Die Umleitungsregel hierfür lautet demnach: | ||
− | :<span class="border-btm-rot"><tt>RewriteRule</tt></span><tt> </tt><span class="border-btm-blau"><tt>bikes/mtb.htm$</tt></span><tt> </tt><span class="border-btm-gelb"><tt><nowiki>https://www.neuer-shop.de/fahrraeder/mountain-bikes.htm?a=catalog&p=868</nowiki></tt></span><tt> </tt><span class="border-btm-gruen"><tt>[R=301,L]</tt></span> | + | :<span class="border-btm-rot"><tt>RewriteRule</tt></span><tt> </tt><span class="border-btm-blau"><tt>^bikes/mtb.htm$</tt></span><tt> </tt><span class="border-btm-gelb"><tt><nowiki>https://www.neuer-shop.de/fahrraeder/mountain-bikes.htm?a=catalog&p=868</nowiki></tt></span><tt> </tt><span class="border-btm-gruen"><tt>[R=301,L]</tt></span> |
Aktuelle Version vom 30. Januar 2019, 14:58 Uhr
Inhaltsverzeichnis
Vorbemerkungen
Zweck und Verantwortung
Umleitungen über die .htaccess dienen dazu, URIs von einer alten Website (also bspw. eines alten Shops) auf jeweils neue umzuleiten. Dies bietet sich an, wenn Sie von einem Shopsystem auf e-vendo wechseln oder Themen innerhalb des e-vendo-Shops ändern. Der Server nimmt dabei die Anfrage an die alte URI entgegen und übersetzt diese in die neue, sodass der Browser die Seite aufrufen kann. Die .htaccess dient dem Server somit als eine Art Telefonbuch, mithilfe dessen er vom Nutzer aufgerufene Seiten korrekt ausgeben kann.
Der Vorteil hiervon ist, dass Suchmaschinen die Seiten, auf die umgeleitet wird, nicht als Neuheiten betrachtet. Dadurch wird das Suchmaschinen-Ranking auf die neuen Seiten übertragen.
Der Kunde ist für die Richtigkeit der Umleitungsregeln selbst verantwortlich; eine Prüfung durch uns findet nicht statt.
allgemeiner Aufbau von URIs
Um die Bedingungen einer RewriteRule zu verstehen, ist es sinnvoll, den Aufbau von URIs zu kennen. Hierbei handelt es sich um eine simplifizierte Betrachtung.
https://www.kundenshop.de/fahrraeder/mtb.htm?a=catalog&p=868
- scheme (Schema)
- Das Schema gibt die Art des folgenden Inhalts an.
- Gängige Beispiele sind die Protokolle http , https oder ftp .
- authority (Zuständigkeit)
- Dieser Bereich wird umgangssprachlich als Domain bezeichnet und enthält quasi den Ort, an welchem die Website liegt.
- path (Pfad)
- Der Pfad ist die Ordnerstruktur, in welchem das aufzurufende Objekt (bspw. eine Website oder ein Bild) liegt.
- Handelt es sich um eine mit e-vendo erstellte Seite, lässt sich hieran die im ❯Shopeditor festgelegte Themenstruktur erkennen sowie der Titel des Themas, gefolgt von einem Dateinamen (hier üblicherweise .htm ).
- query (Abfrage)
- Der letzte Bereich, eingeleitet von einem ? , erlaubt es, weitere Parameter mitzuliefern.
- Im e-vendo-Shop ist es bspw. so, dass auf Artikeldetailseiten immer die Einleitung a=article ausgegeben wird, um anzuzeigen, dass es sich um eine Artikelseite handelt. Darauf folgt der Parameter ProdNr= + Artikelnummer. Im Ergebnis entsteht dann folgende Parametrisierung: a=article&ProdNr=A1200 .
- Im Beispiel oben wird eine Katalogseite aufgerufen; genauer das Thema mit der Nummer 868 und dem Titel "MTB".
Allgemeine Notation
RewriteRule ^[alte URI ab Toplevel]$ [vollständige neue URI] [R=301,L]
- Befehl
- Jede Regel beginnt mit dem eigentlichen Befehl, welcher dem Server anzeigt, dass eine Umleitungsregel folgt.
- Dieser Teil ist immer gleich.
- Bedingung
- An zweiter Stelle steht die alte URI, also diejenige, von welcher aus umgeleitet werden soll.
- Von dieser werden allerdings nur der path sowie die query benötigt (siehe ❯Allgemeiner Aufbau von URIs).
- Die Bedingung muss zwingend mit den Parametern ^ beginnen und mit $ enden. Diese sind kein Bestandteil der URI, sondern zeigen dem Server an, wo die alte URI beginnt und endet.
- Ziel
- Nun folgt das Ziel der Umleitung, also die URI, auf welche die alte (also die Bedingung) umgeleitet werden soll.
- Diese URI muss komplett angegeben werden.
- Art des Redirect
- Die vierte Stelle der Umleitungsregel gibt die Art der Umleitung an.
- Wir empfehlen hier grundsätzlich die Parameter [R=301,L] .
- Das R=301 gibt an, dass eine einfache Umleitung erfolgen soll, während der Parameter L dafür sorgt, dass nachfolgende Umleitungsregeln auf diese URI keinen Einfluss mehr haben.
- Sollte es hiervon Abweichungen geben, werden wir diese gemeinsam mit Ihnen eruieren.
Beispiel
Die folgende URI
- https://www.alter-shop.de/bikes/mtb.htm
soll auf die neue URI
- https://www.neuer-shop.de/fahrraeder/mountain-bikes.htm?a=catalog&p=868
umgeleitet werden.
Die Umleitungsregel hierfür lautet demnach:
- RewriteRule ^bikes/mtb.htm$ https://www.neuer-shop.de/fahrraeder/mountain-bikes.htm?a=catalog&p=868 [R=301,L]