Apache unter Unterscheidung int./ext. Zugriff

Hi,

kann man mittels Apache httpd-Server abfragen, ob eine Anfrage von intern oder extern kam?

Ich müsste nämlich unterschiedlich darauf reagieren.

intern: „redirect permanent / http://domain/intern
extern: „redirect permanent / http://domain/extern

Gibt dafür eine Lösung?

Danke schon mal im voraus

Matthias

Geht soweit ich weiß nur mit einem Weiterleitungsscript (Perl/PHP) als Startseite.

Hi Matthias,

kann man mittels Apache httpd-Server abfragen, ob eine Anfrage
von intern oder extern kam?

Ich müsste nämlich unterschiedlich darauf reagieren.

intern: „redirect permanent / http://domain/intern
extern: „redirect permanent / http://domain/extern

Das sollte mit mod_rewrite gehen. http://httpd.apache.org/docs/misc/rewriteguide.html

Grüße
Martin

Hi Martin,

das hat mir schon ein wenig geholfen. Hab’s zwar noch nicht huntertprozentig geschafft, aber das bekomm ich schon noch hin.

Gruß
Matthias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

ich schaff es einfach nicht, dass Apache das so macht, wie ich will:

Ich möchte doch nur, dass alle Anfragen eines Browsers aus unserem internen Firmennetz (Subnetz 192.168.100.x) nach http://intern.domain.de/ umgeleitet werden und die, die von draussen kommen nach http://extern.domain.de/

RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^192.168.100.
RewriteRule / http://intern.domain.de/ [R]
RewriteRule / http://extern.domain.de/ [R]

Kann mir jemand helfen?

Danke
Matthias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich möchte doch nur, dass alle Anfragen eines Browsers aus
unserem internen Firmennetz (Subnetz 192.168.100.x) nach
http://intern.domain.de/ umgeleitet werden und die, die von
draussen kommen nach http://extern.domain.de/

RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^192.168.100.
RewriteRule / http://intern.domain.de/ [R]
RewriteRule / http://extern.domain.de/ [R]

also erstmal kriegst du mit [R] defaultmaessig einen temporarily moved (302). wenn du nen permanent (301) willst, heisst das [R=301]. und ich zitiere mal aus der doku zum [R] flag von RewriteRule:

„And remember that this flag itself only prefixes the URL with http://thishost[:thisport]/, rewriting continues. Usually you also want to stop and do the redirection immediately. To stop the rewriting you also have to provide the ‚L‘ flag.“

also
RewriteRule / http://intern.domain.de/ [R=301] [L]
und zur sicherheit noch:
RewriteRule / http://extern.domain.de/ [R=301] [L]
falls du mal was hintendran schreibst…

falls es immer noch nicht klappt, mach mal das

RewriteLog
RewriteLogLevel 6

an und poste uns je einen zugriff (nur einen, nich die ganze seite) intern und extern…

joachim