Namensadressen in htaccess umleiten
Peter Obstoj
- sonstiges
0 wahsaga0 Peter Obstoj0 wahsaga0 Peter Obstoj0 wahsaga0 Peter Obstoj0 wahsaga
Hallo,
wie schaffe ich es in .htaccess die Anweisungen
Order deny,allow
Deny from all
Allow from .de
mittels der Anweisungen
RewriteCond
RewriteRule
so umzuschreiben, daß jemand, der nicht aus dem .de Bereich kommt, nicht einfach nur ein "Forbidden" angezeigt bekommt, sondern ich ihn auf eine andere Seite umleiten kann?
hi,
wie schaffe ich es in .htaccess die Anweisungen
Order deny,allow
Deny from all
Allow from .de
mittels der Anweisungen
RewriteCond
RewriteRule
so umzuschreiben, daß jemand, der nicht aus dem .de Bereich kommt, nicht einfach nur ein "Forbidden" angezeigt bekommt, sondern ich ihn auf eine andere Seite umleiten kann?
in dem du auf entsprechende umgebungsvariablen in deiner RewriteCond bezug nimmst.
(REMOTE_HOST würde ich hier vorschlagen.)
gruß,
wahsaga
Okay!
Das habe ich wie folgt versucht:
RewriteCond %{REMOTE_HOST} .de [NC]
RewriteRule ^test$ /home_de.shtml [L]
RewriteRule ^test$ /home_en.shtml [L]
Aber irgendwie funktioniert es nicht! Was ist falsch?
in dem du auf entsprechende umgebungsvariablen in deiner RewriteCond bezug nimmst.
(REMOTE_HOST würde ich hier vorschlagen.)gruß,
wahsaga
hi,
Das habe ich wie folgt versucht:
RewriteCond %{REMOTE_HOST} .de [NC]
RewriteRule ^test$ /home_de.shtml [L]Aber irgendwie funktioniert es nicht! Was ist falsch?
du nimmst doch wohl nicht an, dass in REMOTE_HOST nur .de steht?
darüber hinaus wäre ein sonderzeichen wie der punkt an dieser stelle zu maskieren.
beschäftige dich eingehender mit regulären ausdrücken, denn die brauchst du an der stelle. auf der von mir verlinkten seite sind übrings auch beispiele, sogar welche, wo REMOTE_HOST ähnlich auf vorkommen eines bestimmten literals abgefragt wird.
gruß,
wahsaga
Nun ja, aber *.de oder auch ^*.de führen halt zu einem Serverfehler: "Das angegebene Skript konnte nicht fehlerfrei ausgeführt werden".
Ist ja nicht so, daß ich das nicht schon versucht hätte... daher meine Frage!
beschäftige dich eingehender mit regulären ausdrücken, denn die brauchst du an der stelle. auf der von mir verlinkten seite sind übrings auch beispiele, sogar welche, wo REMOTE_HOST ähnlich auf vorkommen eines bestimmten literals abgefragt wird.
hi,
Nun ja, aber *.de oder auch ^*.de führen halt zu einem Serverfehler: "Das angegebene Skript konnte nicht fehlerfrei ausgeführt werden".
da ist ja auch noch nicht mal der punkt maskiert, und der quantifier * ergibt ohne vorhergehende zeichenklasse o.ä. auch wenig sinn.
gruß,
wahsaga
Hallo noch mal,
Soweit ich das mir jetzt also zusammenreimen kann, müßte
RewriteCond %{REMOTE_HOST} ^.*.de [NC]
zum Erfolg führen. Tut es aber nicht?!
da ist ja auch noch nicht mal der punkt maskiert, und der quantifier * ergibt ohne vorhergehende zeichenklasse o.ä. auch wenig sinn.
gruß,
wahsaga
hi,
Soweit ich das mir jetzt also zusammenreimen kann, müßte
RewriteCond %{REMOTE_HOST} ^.*.de [NC]
zum Erfolg führen. Tut es aber nicht?!
hast du denn mal überprüft, ob REMOTE_HOST überhaupt gefüllt ist?
(beispielsweise per PHP, print_r($_SERVER))
und http://httpd.apache.org/docs/misc/rewriteguide.html könnte ggf. auch noch weiterhelfen.
gruß,
wahsaga
Ha,
genau das is es!
Kein REMOTE_Host weit und breit. Und nun?
Wie ändere ich das / lass ich das ändern und was, wenn es nicht geht?
Ich werd hier noch bekloppt! ;-)
hast du denn mal überprüft, ob REMOTE_HOST überhaupt gefüllt ist?
(beispielsweise per PHP, print_r($_SERVER))gruß,
wahsaga