Mod rewrite: Unterschied zwischen den Versionen

Aus Seobility Wiki
Wechseln zu: Navigation, Suche
(Ähnliche Artikel)
 
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
  
 
== Definition ==
 
== Definition ==
<html><div about="https://www.seobility.net/de/wiki/images/0/04/Mod-rewrite.png"><a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"></a></html>[[File:Mod-rewrite.png|mini|450px|rechts|alt=mod_rewrite|'''Abbildung:''' mod_rewrite - Autor: Seobility - Lizenz: [[Creative Commons Lizenz BY-SA 4.0|CC BY-SA 4.0]]|link=https://www.seobility.net/de/wiki/images/0/04/Mod-rewrite.png]]<html></div></html>
+
[[File:Mod-rewrite.png|mini|450px|rechts|alt=mod_rewrite|'''Abbildung:''' mod_rewrite - Autor: Seobility - Lizenz: [[Creative Commons Lizenz BY-SA 4.0|CC BY-SA 4.0]]|link=https://www.seobility.net/de/wiki/images/0/04/Mod-rewrite.png]]
  
Der Begriff "mod_rewrite" bezeichnet ein Modul für den Apache Webserver, welches in zahlreichen Implementationen im Einsatz ist und die Weiterleitung bestimmter Aufrufe an den dedizierten Inhalt steuert. Grundsätzlich wird das Modul dafür verwendet, einen eingehenden Aufruf auf einen Pfad im Dateisystem des Webservers zu transformieren. Somit ist es möglich, eine [[URL]] “umzuschreiben”. Dafür wird eine sogenannte "rewriterule", also eine Regel, festgelegt, die diese Weiterleitung repräsentiert und mithilfe von [[RegEx|Regular Expressions]] realisiert wird.
+
Der Begriff "mod_rewrite" bezeichnet ein Modul für den Apache Webserver, das die Weiterleitung bestimmter Aufrufe an den dedizierten Inhalt steuert. Grundsätzlich wird das Modul dafür verwendet, einen eingehenden Aufruf auf einen Pfad im Dateisystem des Webservers zu transformieren. Somit ist es möglich, eine [[URL]] “umzuschreiben”. Dafür wird eine sogenannte "rewriterule", also eine Regel, festgelegt, die diese Weiterleitung repräsentiert und mithilfe von [[RegEx|Regular Expressions]] realisiert wird.
  
 
== Die Macht der flexiblen URL ==
 
== Die Macht der flexiblen URL ==
  
Administratoren und Architekten von komplexen Websystemen arbeiten oftmals mit dem Modul "mod_rewrite", denn es ermöglicht auf der Ebene des Webservers eine zuverlässige und stabile Steuerung von Anfragen. Vor allem für die heute übliche Trennung zwischen einem Webserver und der Applikationsschicht ist diese Vorgehensweise von immenser Bedeutung. Die verwendete URL und deren Zielpunkt sind durch diese Trennung von einer eingesetzten Anwendung oder einer kompletten Infrastruktur absolut unabhängig. Diese Unabhängigkeit wird immer wichtiger, da damit die Austauschbarkeit durch Weiterentwicklung und Strategieänderungen gewährleistet ist.
+
Administratoren und Architekten von komplexen Websystemen arbeiten oftmals mit dem Modul "mod_rewrite", denn es ermöglicht ein einfaches Umschreiben von URLs. Vor allem für das Umschreiben von dynamischen in [[SEO-freundliche URLs]] kommt mod_rewrite häufig zum Einsatz.
  
 
== Die Rewriteengine ==
 
== Die Rewriteengine ==
  
Hinter der Umsetzung des Rewrite Moduls steht eine komplexe Rewriteengine. Das bedeutet, eine eigens dafür zur Verfügung stehende Software nimmt die Regeln, die auf Textbasis in der [[.htaccess]] Datei eines Webservers definiert sind, entgegen und interpretiert sie derart, dass der Webserver in der Lage ist, die Rewrite Regeln umzusetzen. Die Rewriteengine kann eine Reihe von Bedingungen zu jeder Regel auswerten. Dabei wird stets die gesamte URL berücksichtigt, die auch URI genannt wird (Unified Resource Identifier).
+
Hinter der Umsetzung des Rewrite Moduls steht eine komplexe Rewriteengine. Das bedeutet, eine eigens dafür zur Verfügung stehende Software nimmt die Regeln, die in der [[.htaccess]] Datei oder der (V-)Serverconfig eines Webservers definiert sind, entgegen und interpretiert sie derart, dass der Webserver in der Lage ist, die Rewrite Regeln umzusetzen. Die Rewriteengine kann eine Reihe von Bedingungen zu jeder Regel auswerten. Dabei wird stets die gesamte URL berücksichtigt, die auch URI genannt wird (Unified Resource Identifier).  
 
 
Für das Konfigurieren von Rewriterules stehen im Webserver verschiedene Konfigurationsdateien wie die httpd.conf zur Verfügung. In den meisten Fällen werden aber im Sinne der Standardisierung die Rewriterules in der .htaccess Datei des Webservers vereinbart.
 
  
 
== Direktiven ==
 
== Direktiven ==
  
Die Funktionsweise des Rewrite Moduls wird über sogenannte Direktiven gesteuert. Diese Angaben bilden Bereiche innerhalb der Webserver-Konfiguration, die Funktionen einleiten und so eine übersichtliche und voneinander abgegrenzte Konfiguration zum Beispiel für verschiedene URLs oder verschiedene Pfade möglich macht. Grundlage für die Darstellung der einzelnen Direktiven bildet die XML-Semantik. Besonders bekannt und häufig eingesetzt ist die Rewrite Base Directive. Sie gibt an, welcher relative Pfad durch eine Rewriterule ersetzt werden soll.  
+
Die Funktionsweise des Apache Rewrite Moduls wird über sogenannte Direktiven gesteuert. Diese Angaben bilden Bereiche innerhalb der Webserver-Konfiguration, die Funktionen einleiten und so eine übersichtliche und voneinander abgegrenzte Konfiguration zum Beispiel für verschiedene URLs oder verschiedene Pfade möglich macht. Besonders bekannt und häufig eingesetzt ist die Rewrite Base Directive. Sie gibt an, welcher relative Pfad durch eine Rewriterule ersetzt werden soll.  
  
Darüber hinaus gibt es weitere Direktiven, zum Beispiel um Bedingungen abzubilden. Auf diese Weise lassen sich komplexe Regeln für einen Webauftritt vereinbaren. Wichtig ist dabei, dass stets nachvollziehbar ist, welche Regeln vereinbart wurden, um sich widersprechende oder nicht erfüllbare Regeln zu vermeiden.
+
Darüber hinaus gibt es weitere Direktiven, zum Beispiel um Bedingungen abzubilden. Auf diese Weise lassen sich komplexe Regeln für einen Webauftritt vereinbaren. Wichtig ist dabei, dass stets nachvollziehbar ist, welche Regeln konfiguriert wurden, um sich widersprechende oder nicht erfüllbare Regeln zu vermeiden.
  
 
== Beispiel ==
 
== Beispiel ==
Zeile 26: Zeile 24:
 
Für das Apache Modul mod_rewrite gibt es zahlreiche Einsatzszenarien. Viele Ausdrücke werden daher für Standardfälle veröffentlicht und können von jedem Administrator eingesetzt werden. Ein Beispiel für eine Rewriterule ist:
 
Für das Apache Modul mod_rewrite gibt es zahlreiche Einsatzszenarien. Viele Ausdrücke werden daher für Standardfälle veröffentlicht und können von jedem Administrator eingesetzt werden. Ein Beispiel für eine Rewriterule ist:
  
<pre>RewriteEngine on RewriteRule (.*)\.html$ /cgi-bin/script.pl?var=$1</pre>
+
<pre>RewriteEngine on
 +
RewriteRule (.*)\.html$ /cgi-bin/script.pl?var=$1</pre>
  
 
Die Semantik der Regel basiert auf Regular Expressions. Die Regeln können somit als eine Art "Suchen und Ersetzen" aufgefasst werden. Das bedeutet, eine eingehende Zeichenkette wird überprüft und umgeschrieben.  
 
Die Semantik der Regel basiert auf Regular Expressions. Die Regeln können somit als eine Art "Suchen und Ersetzen" aufgefasst werden. Das bedeutet, eine eingehende Zeichenkette wird überprüft und umgeschrieben.  
Zeile 57: Zeile 56:
  
 
[[Kategorie:Web Entwicklung]]
 
[[Kategorie:Web Entwicklung]]
 +
 +
<html><script type="application/ld+json">
 +
    {
 +
      "@context": "https://schema.org/",
 +
      "@type": "ImageObject",
 +
      "contentUrl": "https://www.seobility.net/de/wiki/images/0/04/Mod-rewrite.png",
 +
      "license": "https://creativecommons.org/licenses/by-sa/4.0/deed.de",
 +
      "acquireLicensePage": "https://www.seobility.net/de/wiki/Creative_Commons_Lizenz_BY-SA_4.0"
 +
    }
 +
    </script></html>
 +
 +
{| class="wikitable" style="text-align:left"
 +
|-
 +
|'''Über den Autor'''
 +
|-
 +
| [[File:Seobility S.jpg|link=|100px|left|alt=Seobility S]] Das Seobility Wiki Team besteht aus SEO-, Online-Marketing- und Web-Experten mit praktischer Erfahrung in den Bereichen Suchmaschinenoptimierung, Online-Marketing und Webentwicklung. Alle unsere Artikel durchlaufen einen mehrstufigen Redaktionsprozess, um Dir die bestmögliche Qualität und wirklich hilfreiche Informationen bieten zu können. <html><a href="https://www.seobility.net/de/wiki/Seobility_Wiki_Team" target="_blank">Mehr Informationen über das Seobility Wiki Team</a></html>.
 +
|}
 +
 +
<html><script type="application/ld+json">
 +
{
 +
  "@context": "https://schema.org",
 +
  "@type": "Article",
 +
  "author": {
 +
    "@type": "Organization",
 +
    "name": "Seobility",
 +
    "url": "https://www.seobility.net/"
 +
  }
 +
}
 +
</script></html>

Aktuelle Version vom 23. Januar 2024, 16:04 Uhr

Definition

mod_rewrite
Abbildung: mod_rewrite - Autor: Seobility - Lizenz: CC BY-SA 4.0

Der Begriff "mod_rewrite" bezeichnet ein Modul für den Apache Webserver, das die Weiterleitung bestimmter Aufrufe an den dedizierten Inhalt steuert. Grundsätzlich wird das Modul dafür verwendet, einen eingehenden Aufruf auf einen Pfad im Dateisystem des Webservers zu transformieren. Somit ist es möglich, eine URL “umzuschreiben”. Dafür wird eine sogenannte "rewriterule", also eine Regel, festgelegt, die diese Weiterleitung repräsentiert und mithilfe von Regular Expressions realisiert wird.

Die Macht der flexiblen URL

Administratoren und Architekten von komplexen Websystemen arbeiten oftmals mit dem Modul "mod_rewrite", denn es ermöglicht ein einfaches Umschreiben von URLs. Vor allem für das Umschreiben von dynamischen in SEO-freundliche URLs kommt mod_rewrite häufig zum Einsatz.

Die Rewriteengine

Hinter der Umsetzung des Rewrite Moduls steht eine komplexe Rewriteengine. Das bedeutet, eine eigens dafür zur Verfügung stehende Software nimmt die Regeln, die in der .htaccess Datei oder der (V-)Serverconfig eines Webservers definiert sind, entgegen und interpretiert sie derart, dass der Webserver in der Lage ist, die Rewrite Regeln umzusetzen. Die Rewriteengine kann eine Reihe von Bedingungen zu jeder Regel auswerten. Dabei wird stets die gesamte URL berücksichtigt, die auch URI genannt wird (Unified Resource Identifier).

Direktiven

Die Funktionsweise des Apache Rewrite Moduls wird über sogenannte Direktiven gesteuert. Diese Angaben bilden Bereiche innerhalb der Webserver-Konfiguration, die Funktionen einleiten und so eine übersichtliche und voneinander abgegrenzte Konfiguration zum Beispiel für verschiedene URLs oder verschiedene Pfade möglich macht. Besonders bekannt und häufig eingesetzt ist die Rewrite Base Directive. Sie gibt an, welcher relative Pfad durch eine Rewriterule ersetzt werden soll.

Darüber hinaus gibt es weitere Direktiven, zum Beispiel um Bedingungen abzubilden. Auf diese Weise lassen sich komplexe Regeln für einen Webauftritt vereinbaren. Wichtig ist dabei, dass stets nachvollziehbar ist, welche Regeln konfiguriert wurden, um sich widersprechende oder nicht erfüllbare Regeln zu vermeiden.

Beispiel

Für das Apache Modul mod_rewrite gibt es zahlreiche Einsatzszenarien. Viele Ausdrücke werden daher für Standardfälle veröffentlicht und können von jedem Administrator eingesetzt werden. Ein Beispiel für eine Rewriterule ist:

RewriteEngine on
RewriteRule (.*)\.html$ /cgi-bin/script.pl?var=$1

Die Semantik der Regel basiert auf Regular Expressions. Die Regeln können somit als eine Art "Suchen und Ersetzen" aufgefasst werden. Das bedeutet, eine eingehende Zeichenkette wird überprüft und umgeschrieben.

Im obigen Beispiel werden alle Zugriffe auf die HTML-Datei im Basisverzeichnis des Apache Webservers gefunden. Alle anderen Eingänge werden nicht durch diese Rewriterule bearbeitet.

Alle Eingänge, die dieser Bedingung genügen, werden auf ein Script weitergeleitet. Dabei spielt es keine Rolle, mit welcher URL oder URI der Aufruf geschehen ist. Das Script wird dabei derart aufgerufen, dass der Name des ursprünglich aufgerufenen Pfades mit übergeben wird.

An diesem Beispiel ist zu erkennen, dass das Rewrite Modul durchaus dafür geeignet ist, komplexe Anwendungsfälle auf einem Webserver und darüber hinaus zu steuern.

Bedeutung für die Suchmaschinenoptimierung

Für die Suchmaschinenoptimierung hat die Rewriteengine eine große Bedeutung, denn die Routinen einer Suchmaschine sind darauf ausgelegt, gut strukturierte und menschenlesbare URL Bäume zu finden.

Viele Webanwendungen generieren jedoch dynamische URLs, die für den Menschen nicht logisch erfassbar sind und auch nichts über den inhaltlichen Aufbau eines Internetauftritts aussagen.

Mithilfe des Apache Moduls mod_rewrite lässt sich dieses Problem jedoch beheben, indem komplexe dynamische URLs in “sprechende” URLs umgeschrieben werden. Dadurch wird sowohl für User als auch für Suchmaschinen die Ordnerstruktur einer Website leichter nachvollziehbar. Infolgedessen kann der User bereits in den SERPs anhand der URL eines Suchergebnisses beurteilen, was er auf der Seite vorfinden wird und ob diese relevant für ihn ist.

Weiterführende Links

Ähnliche Artikel

Über den Autor
Seobility S
Das Seobility Wiki Team besteht aus SEO-, Online-Marketing- und Web-Experten mit praktischer Erfahrung in den Bereichen Suchmaschinenoptimierung, Online-Marketing und Webentwicklung. Alle unsere Artikel durchlaufen einen mehrstufigen Redaktionsprozess, um Dir die bestmögliche Qualität und wirklich hilfreiche Informationen bieten zu können. Mehr Informationen über das Seobility Wiki Team.

Überprüfen Sie Ihre Webseite mit
dem SEO Check!