Apache mod rewrite aktivieren und nutzen: Unterschied zwischen den Versionen
Acdc (Diskussion | Beiträge) |
Acdc (Diskussion | Beiträge) |
||
Zeile 20: | Zeile 20: | ||
RewriteCond %{REQUEST_URI} !alias-domain.at/ | RewriteCond %{REQUEST_URI} !alias-domain.at/ | ||
RewriteRule ^(.*)$ alias-domain.at/$1 [L] | RewriteRule ^(.*)$ alias-domain.at/$1 [L] | ||
;Wichtiger Hinweis | |||
Die o.g. RewriteRule verändert die ursprüngliche URL | |||
===Beispiel 2: Pfad-Vereinfachung=== | ===Beispiel 2: Pfad-Vereinfachung=== |
Version vom 2. April 2015, 19:01 Uhr
Das Apache-Modul mod_rewrite ermöglicht es, Internetadressen (URLs) intern "umzuschreiben" (rewrite). Ihr Besucher greift so auf eine nicht real existierende URL zu, die der Webserver anhand Ihrer Regeln auf den echten Pfad umleitet, ohne dass es der Besucher merkt. Diese Technik ist auch für die Suchmaschinen-Optimierung geeignet.
Allgemeiner Hinweis zur Konfiguration
Natürlich lassen sich in den folgenden Beispielen analog auch beliebig andere Datei- oder Verzeichnisnamen verwenden. Das Umschreiben der URLs geschieht für den Benutzer automatisch und transparent (also auch für Suchmaschinen neutral). Gehen Sie dazu jeweils wie folgt vor:
- Erstellen Sie mit einem Text-Editor die u.g. Server-Konfiguration mit dem Dateinamen .htaccess
- Speichern Sie die Text-Datei im Hauptverzeichnis Ihres Webservers (/htdocs).
Beispiel 1: Alias-Domain auf Unterordner verweisen
Mit folgenden RewriteRules können Sie unterschiedliche "Startseiten" für unterschiedliche Domains anzeigen lassen. Beispiel:
- http://www.beispieldomain.eu --> index.html (im Ordner "htdocs/")
- http://www.alias-domain.at --> alias-domain.at/index.html (also im Ordner "htdocs/alias-domain.at/"
Voraussetzung hierfür ist, dass Ihre zusätzlichen Domains als Alias-Domain (oder Co-Domain) parallel auf Ihren web-connect Webserver mittels ServerAlias konfiguriert sind.
Server-Konfiguration (Inhalt für die .htaccess-Datei)
RewriteEngine On RewriteCond %{HTTP_HOST} alias-domain\.at$ [NC] RewriteCond %{REQUEST_URI} !alias-domain.at/ RewriteRule ^(.*)$ alias-domain.at/$1 [L]
- Wichtiger Hinweis
Die o.g. RewriteRule verändert die ursprüngliche URL
Beispiel 2: Pfad-Vereinfachung
Sie benutzen einen Seiten-Genarator, der eine Liste von Links (z.B. Produkte) aus einer Kategorie auflistet. Hierfür lautet Ihre Adresse z.B. www.BeispielDomain.eu/show-products.php?action=list&category=Unterhaltung
- Die URL ist schlecht im Gedächtnis zu behalten
- Manche Suchmaschinen indizieren solche URLs falsch
- Angreifer erkennen den direkten Zugriff auf Ihr PHP-Script
Schöner wäre hier z.B. die URL www.BeispielDomain.eu/Produkte/Unterhaltung um die genannten Nachteile zu beheben.
Server-Konfiguration (Inhalt für die .htaccess-Datei)
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^Produkte/(.*)$ /show-products.php?action=list&category=$1 [PT,L,QSA]