Hallo zusammen !
Hier erstelle ich mal einen Sammel-Thread zu mod_rewrite !
Da im Netz nicht all zu viel zu finden oder es schwer verständlich ist,
denke ich, dass das ggf. dem ein oder anderen bei Problemen helfen kann !?
... falls Ergänzungen, die natürlich erwünscht sind, von Euch hinzugefügt werden,
bitte ich darum, dass diese auch funktionieren - ggf. selber geprüft - und auch verständlich erklärt werden !
( fertige, schlecht erklärte Funktionen findet man reichlich - hilft dann aber nicht wirklich )
mod_rewrite ( Sammel-Thread )
... prüfen ob mod_rewrite auf dem Server/Webspace aktiv ist ...
Man erstellt eine .htaccess - Datei mit dem folgenden Inhalt !
Wenn man diese Datei z.B. in dem Ordner /xyz erstellt, sollte der Aufruf der Adresse zu Google leiten !
h**p://www.domain.de/xyz -> h*ttp:www.google de
Funktioniert die Weiterleitung ist mod_rewrite aktiv - funktioniert die Weiterleitung nicht, solltet ihr mal euren Anbieter/Hoster fragen !
( dazu ist dann nämlich ein Eingriff in die Serverkonfigurationsdatei "httpd.conf" erforderlich )
Man erstellt eine .htaccess - Datei mit dem folgenden Inhalt !
Code: Alles auswählen
RewriteEngine On
RewriteRule ^ http://www.google.de [R,L]
h**p://www.domain.de/xyz -> h*ttp:www.google de
Funktioniert die Weiterleitung ist mod_rewrite aktiv - funktioniert die Weiterleitung nicht, solltet ihr mal euren Anbieter/Hoster fragen !
( dazu ist dann nämlich ein Eingriff in die Serverkonfigurationsdatei "httpd.conf" erforderlich )
LG, Lighty
... Webseiten immer mit www ausgeben ...
Erklärungen:
^ - startet eine Regel
$ - beendet eine Regel
(.*) - ein oder mehrere beliebige Zeichen
$1 - enthält den Wert von (.*)
[R=301] - Status moved permanently (301) wird ausgegeben
Code: Alles auswählen
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.domain.de/$1 [R=301]
^ - startet eine Regel
$ - beendet eine Regel
(.*) - ein oder mehrere beliebige Zeichen
$1 - enthält den Wert von (.*)
[R=301] - Status moved permanently (301) wird ausgegeben
LG, Lighty
Zwei Möglichkeiten, um stets auf https umzuleiten:
oder:
Variante 1 ist ausschließlich auf Port 443 bezogen, während Variante 2 "portvariabel" auch andere Portanfragen via tcp umleiten würde.
Naja, braucht eigentlich kein Mensch.
Code: Alles auswählen
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI}
###oder auch:
#RewriteRule ^(.*)$ https://www.deinedomain.com/$1 [R=301,L]
Code: Alles auswählen
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Naja, braucht eigentlich kein Mensch.
Noch was schickes mit mod_rewrite (falls jemand ne kurze URL braucht):
Macht folgendes:
Ruft "deinedomain.de/datei.php?variable=123xyz" über "deinedomain.de/123xyz" auf -> die Angabe des Dateinamens im URL ist daher überflüssig.
Code: Alles auswählen
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ datei.php?variable=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ datei.php?variable=$1
Ruft "deinedomain.de/datei.php?variable=123xyz" über "deinedomain.de/123xyz" auf -> die Angabe des Dateinamens im URL ist daher überflüssig.