08.05.11, 21:40:34
Lighty
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 ) ;)
08.05.11, 22:20:42
Lighty
... prüfen ob mod_rewrite auf dem Server/Webspace aktiv ist ...
Man erstellt eine .htaccess - Datei mit dem folgenden Inhalt !
Code:
1:
2:
|
RewriteEngine On
RewriteRule ^ http://www.google.de [R,L]
|
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 )
09.05.11, 01:53:22
Lighty
... Webseiten immer mit www ausgeben ...
Code:
1:
2:
3:
|
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.domain.de/$1 [R=301]
|
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
21.10.11, 21:14:54
Frau P.
Zwei Möglichkeiten, um stets auf https umzuleiten:
Code:
1:
2:
3:
4:
5:
6:
|
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]
|
oder:
Code:
1:
2:
3:
|
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
|
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. :shock:
21.10.11, 21:28:29
Frau P.
Noch was schickes mit mod_rewrite (falls jemand ne kurze URL braucht):
Code:
1:
2:
3:
|
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ datei.php?variable=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ datei.php?variable=$1
|
Macht folgendes:
Ruft "deinedomain.de/datei.php?variable=123xyz" über "deinedomain.de/123xyz" auf -> die Angabe des Dateinamens im URL ist daher überflüssig.