mod_rewrite redirect auf andere Seite
lima-city → Forum → Die eigene Homepage → Homepage Allgemein
abgelegt code
anfangen
bedingung
code
domain
folgendes code
host
http
klappen
kondition
machen
negation
ordner
parameter
probier
rest
rufzeichen
schauen
weiterleiten
zweiten teil
-
Hallo,
ich wollte da von einer Seiten auf eine andere Umleiten, und zwar einmal mittels:
webmail.domain.org --> webmail.example.org
und dann noch :
domain.org/webmail --> webmail.example.org
Wollte beides via htaccess machen.
ersteres klappt auch mit:
RewriteCond %{HTTP_HOST} ^webmail.domain\.org [NC] RewriteRule ^(.*)$ http://webmail.example.org [R=permanent,L]
allerdings krieg ich irgendwie nicht das zweite auch hin.
RewriteCond %{HTTP_HOST} ^domain\.org/webmail [OR,NC] RewriteCond %{HTTP_HOST} ^webmail.domain\.org [NC] RewriteRule ^(.*)$ http://webmail.example.org [R=permanent,L]
allerdings nimmt er noch immer nur die Variante mit der Subdomain.
Die mit unterordner klappt nicht!
hat wer ne Ahnung wieso ? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich würde das anders machen:
RewriteCond %{HTTP_HOST} !^webmail.example.org$ RewriteRule ^(.*)$ http://webmail.example.org/$1 [L,R=301]
Auf diese Weise, wird alles was nicht webmail.example.org ist dorthin weitergeleitet und wenn man z.b. webmail.domain.org/toll eingibt landet man so jetzt auch auf webmail.example.org/toll
und fürs andere probier mal das:
RewriteCond %{HTTP_HOST} !^webmail.example.org$ RewriteRule ^webmail($|/)(.*)$ http://webmail.example.org/$2 [L,R=301]
Beitrag zuletzt geändert: 20.5.2009 18:07:24 von zenks -
zenks schrieb:
Auf diese Weise, wird alles was nicht webmail.example.org ist dorthin
Also das verstehe ich jetzt nicht.
zenks schrieb:
RewriteCond %{HTTP_HOST} !^webmail.example.org$ RewriteRule ^(.*)$ http://webmail.example.org/$1 [L,R=301]
Was macht das Rufzeichen vor dem __^___ ? Parameter brauch ich eigentlich soweit nicht aber mal schauen.
zenks schrieb:
und fürs andere probier mal das:
RewriteCond %{HTTP_HOST} !^webmail.example.org$ RewriteRule ^webmail($|/)(.*)$ http://webmail.example.org/$2 [L,R=301]
Hmm scheint zu klappen, aber ich verstehe nicht ganz wieso ... -
Das ! bewirkt eine Negation. Das heißt jeder HTTP_HOST der nicht webmail.example.org heißt aber auf den selben Ordner zugreift wird auf das eben genannte weitergeleitet.
zum zweiten Teil:
RewriteCond %{HTTP_HOST} ^domain\.org/webmail [OR,NC]
Der HTTP_HOST ist in deisem Fall nur domain.org. Der Rest dahinter wäre der REQUEST_URI. Sprich wenn du's nicht so machen willst wie ichs dir vorgeschlagen habe dann schreibe folgendes:
RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^domain\.org/webmail [OR,NC]
-
zenks schrieb:
Das ! bewirkt eine Negation. Das heißt jeder HTTP_HOST der nicht webmail.example.org heißt aber auf den selben Ordner zugreift wird auf das eben genannte weitergeleitet.
zum zweiten Teil:
RewriteCond %{HTTP_HOST} ^domain\.org/webmail [OR,NC]
Der HTTP_HOST ist in deisem Fall nur domain.org. Der Rest dahinter wäre der REQUEST_URI. Sprich wenn du's nicht so machen willst wie ichs dir vorgeschlagen habe dann schreibe folgendes:
RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^domain\.org/webmail [OR,NC]
Ich glaub ich verstehe es immer noch nicht:
Oder so, also das Ziel ist auf einer Andren DOmain + Host abgelegt.
RewriteCond %{HTTP_HOST} !^webmail.example.org$
Die bedingung ist dann das es NICHT(?) mit webmail.example.org anfängt ?
DAS verstehe ich einfach nicht. es soll doch mit webmail.example.org anfangen.
zenks schrieb:
nicht webmail.example.org heißt aber auf den selben Ordner zugreift wird auf das eben genannte weitergeleitet.
wie ist das gemeint "aber auf den sleben Ordner zugreift"?
Verstehe nicht wieso beide Funkionieren sollten sowohl:
!^webmail.example.org$
also auch
^webmail.example.org$
das wäre doch seltsam ....
RewriteRule ^(.*)$ http://webmail.domain.com [R=permanent,L]
Bewirkt wenn die Condition greift das ^(.*)$ (also alles) auf http://webmail.domain.com umgeschrieben wird. -
Die bedingung ist dann das es NICHT(?) mit webmail.example.org anfängt ?
DAS verstehe ich einfach nicht. es soll doch mit webmail.example.org anfangen.
Eben deswegen greift das auch nur wenn das nicht der Fall ist. WEnn du diese Kondition weglästt würde der permanent auf webmail.example.org weiterleiten ohne Ende.
Das mit dem sowohl als auch versteh ich nicht... steht nicht in meinem Code
Bewirkt wenn die Condition greift das ^(.*)$ (also alles) auf http://webmail.domain.com umgeschrieben wird.
jein: nicht umgeschreiben, sondern weitergeleitet
Beitrag zuletzt geändert: 24.5.2009 21:15:45 von zenks -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage