dedlfix: auf externe Datenbank zugreifen

Beitrag lesen

echo $begrüßung;

Umgeleitet wird so:
RewriteRule (.*) http://www.stayinbuenosaires.com/es/$1 [R=301,L]
Wie nehme ich die Sitemap in der Umleitung aus?

Man kann vor eine RewriteRule ein oder mehrere RewriteCond-Direktiven einfügen, und somit der RewriteRule Bedingungen unterschieben. Beispielsweise könntest du alles von der Umleitung ausnehmen, was real existierende Dateien und Verzeichnisse sind.

Das wäre eine einfache und elegante Lösung wenn sie denn funktioniert.

Ja, wenn. Wenn allerdings Domain A nach Domain B umleitet und sonst keine weiteren Seiten direkt ausliefert, dann kommt sich vielleicht Google veralbert vor, wenn es eine umfangreiche Sitemap für A findet, aber keinen direkten Content. Zumindest kann ich mir das gut vorstellen.

Das PHP kann beispielsweise anhand von $_SERVER['SERVER_NAME'] unterscheiden, welche Sprachvariante/Domain gewählt wurde. Dazu muss aber der Server beide Domains behandeln können. Dass die Domains aus welchen Gründen auch immer vielleicht bei unterschiedlichen Providern angemeldet sind, ist nicht ganz tragisch. Der Fremdhoster muss es nur zulassen, dass man den DNS-Eintrag auf IP-Adresse des Servers mit den Seiten zeigen lassen kann. Letzterer muss so konfiguriert sein, dass er sich für die Domain zuständig fühlt, aber ohne DNS-Handling. Das ist technisch alles kein Problem, nur die Provider müssen da mitspielen.

Das mit dem DNS Handling versteh ich allerdings nicht

Du hast hier zwei Systeme, die miteinander spielen müssen. Zum einen ist das der DNS, der aus einem Domainnamen eine IP-Adresse macht, zum anderen der Apache, der die Webseiten einer bestimmten Domain ausliefern soll. Hinzu kommt noch, dass mehrere Domains auf die selbe IP-Adresse verweisen können, und es dann des Apaches Aufgabe ist, zwar nur auf einer IP zu lauschen, aber die Domains auseinanderzuhalten. Das beherrscht er aber mit dem Feature Namensbasierte virtuelle Hosts recht gut.

Du hast also eine Domain, die auf eine bestimmte IP verweist. Da lauscht dann ein Webserver. Der Webserver beherbergt jedoch möglicherweise mehrere Angebote und muss deshalb nicht nur einfach reagieren sondern auch noch die angeforderte Domain auswerten, um die Dokumente des richtigen Angebots auszuliefern. Beim Alles-aus-einer-Hand-Provider konfiguriert der die Domains beim DNS und lässt sie auf die IP des Webservers verweisen, und konfiguriert diesen, dass er den Domainnamen kennt und passende Dokumente liefern kann.

Doch das ganze Gebilde kann man auch aufteilen. Provider 1 konfiguriert konfiguriert den Domainnamen auf seinen DNS-Systemen, verweist aber auf die IP vom Webserver beim Provider 2. Dieser Webserver muss wissen, dass er für die Domain zuständig ist, auch wenn sie nicht beim Provider 2 registriert ist. Technisch ist das alles kein Problem. Die Technik unterscheidet nicht zwischen den Providern. Doch es ist eine administrative Aufgabe. 08/15-Billig-Massenhosterangebote unterstützen sicher solch eine Konfiguration nicht, aber schon ein/zwei Preisklassen darüber sollte das kein Problem mehr darstellen.

Du müsstest also schauen, ob du beim Provider 1, bei dem die Domain registiert ist (und bezahlt wird), für diese eine IP-Adresse explizit einstellen kannst. (Wenn das geht, kann man das nicht nur für die Domain, sondern auch für Subdomains machen. Mit einer solchen kannst du ja erstmal testen, ob das prinzipiell funktioniert, ohne am lebenden Patienten rumzudoktorn.) Beim Provider 2 schaust du, ob der einen Domainnamen auf dem Webserver konfigurieren lässt, ohne dass er gleich noch die Domain beim zuständigen NIC registrieren will.

echo "$verabschiedung $name";