Mod rewrite: Unterschied zwischen den Versionen
(→Die Macht der flexiblen URL) |
(→Ähnliche Artikel) |
||
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
== Definition == | == Definition == | ||
− | + | [[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, | + | 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 ein einfaches Umschreiben von URLs. Vor allem für das Umschreiben von dynamischen in | + | 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 | + | 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 == | == 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 | + | 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 | + | 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
Inhaltsverzeichnis
Definition
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
- https://httpd.apache.org/docs/current/mod/mod_rewrite.html
- https://www.webhosting-franken.de/mod_rewrite-benutzen-ein-paar-beispiele/
- https://moz.com/blog/using-mod-rewrite-to-convert-dynamic-urls-to-seo-friendly-urls
Ähnliche Artikel
Über den Autor |
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. |