Tach!
Heue um 9:17 hatte ich mich doch geäußert. Ich möchte nach Möglichkeit nichts auf dem Server machen.
Zu wenig, um konkrete Tipps zu geben.
Über eine Abfrage in .htaccess möchte ich erkennen, ob ich im Internet bin oder auf meinem lokalen Apache.
Es gibt keine Unterscheidung zwischen Internet und lokal. Dein lokales Netzwerk ist Teil des Internets, auch wenn eine Firewall den Zugriff verhindert. Zudem verwendet der lokale Teil des Netzwerkes dieselben Techniken wie das Internet. Es gibt auch keine Stelle, die man befragen kann, ob du in diesem oder jenen Teil des Netzwerks befindest.
D.h. gibt es eine Variable, die im Internet definiert ist und nicht im lokalen System oder umgekehrt.
Nein.
Oder gibt es eine Variable, die garantiert unterschiedlich ist zwischen den beiden Varianten?
Vielleicht. Aber das ist abhängig von den konkreten Gegebenheiten. Üblicherweise hat man im lokalen Netzwerk eine andere Domain als außerhalb, und damit andere Servernamen. Anhand dieser kannst du eine Unterscheidung vornehmen. Allerdings nur, wenn du das auch wirklich so hast und nicht intern denselben Namen wie extern verwendest.
Weiterhin gibt es auch Netzwerke, die verwenden auch intern dieselbe offizielle Domain, dann aber auch mit unterschiedlichen Hostnamen für interne und externe Server.
Wenn bei dir der interne und der externe Server dieselben Namen haben, dann geht es nicht anders, als ein anderes Kriterium heranzuziehen. Die IP-Adresse geht meines Wissens nicht, oder ich habe sie nur nicht in der List der Variablen zu <If> gefunden. Du könntest die IP-Adresse des Zugreifenden (REMOTE_ADDR) auswerten, beziehungsweise signifikante Teile davon, wenn das ein eindeutiges Unterscheidungsmerkmal in deinem Fall ist.
Umgebungsvariable setzen hab ich auch schon genannt. Das ist eine der am wenigsten eingreifenden Varianten, dafür aber recht wirkungsvoll.
dedlfix.