Zur Navigation

.htaccess Domains umleiten [2]

Drei Domains, drei Ordner

11 Jörg Kruse

Zitat von KalleG
Beim Aufruf der Domain werde ich von der T-Online Navigationshilfe abgefangen. Der Link dazu in der Browserzeile sieht so aus:

http://navigationshilfe1.t-online.de/dnserror?url=http://test.deutsch.de/

Dann kommt die Browseranfrage gar nicht erst bis zu deinem Webserver durch - anscheinend fehlt ein Nameserver-Eintrag für die Domain "test.deutsch.de"

Wenn diese Domain nur für dich zum Testen ist, kannst du aber auch einfach einen Eintrag in deine lokale hosts Datei vornehmen:

192.0.2.1 test.deutsch.de

... wobei du 192.0.2.1 hier durch die IP-Adresse deines Webspaces ersetzen musst

24.02.2012 18:50 | geändert: 24.02.2012 18:52

12 KalleG

Hmm, das ist natürlich schade. Diesbezüglich haben wir den Host nochmals angeschrieben. Ich verstehe nicht, wieso sich dieser so quer stellt und auch derart viel Geld für Leistungen nimmt, die ich bei einem anderen Anbieter alle inklusive habe. Für das Spiegeln der vorhandenen Datenbanken, wollte dieser 40 Euro haben... ich kenne das alles nur, als Selbstverständlichkeit oder das dem Kunden die Möglichkeit geboten wird, die mit einm paar Klicks selbst zu machen.

Wie dem auch sei... das die .de und die .com Domain funktionieren, ist für mich schon einmal am wichtigsten und ich Danke Dir @Jörg ganz herzlich für die Hilfe und Erklärung. Finde ich wirklich super! THX.

Sollte sich was ergeben, oder eine andere Lösung parat sein, werde ich dies hier posten.

25.02.2012 14:16

13 KalleG

Da bin ich wieder. ;)

Der Host hat nun den DNS Eintrag für test.deutsch.de gesetzt.

Aktueller Ist-Zustand der .htaccess sieht nun so aus:

Options +FollowSymLinks
 
RewriteEngine On
RewriteBase /

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

RewriteCond %{HTTP_HOST} ^(www\.)?deutsch\.de
RewriteRule ^(.*)$ _ger/$1

RewriteCond %{HTTP_HOST} ^(www\.)?englisch\.com
RewriteRule ^(.*)$ _eng/$1

RewriteCond %{HTTP_HOST} ^(test\.)?deutsch\.de
RewriteRule ^(.*)$ _test/$1

Die .htaccess, welche jeweils in den Verzeichnissen _ger, _eng und _test liegt, sieht wie folgt aus, wobei die fett markierte Stelle jeweils dem Verzeichnis angepasst ist.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /_ger/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Jetzt habe ich ein Problem mit den einzelnen Blogs. Ursprünglich war das ein deutsches Blog, welches eine englische Version unter der .com Domain bekommen sollte und halt das Testblog. Dazu wurde die Datenbank von dem ursprünglichen Blog noch 2x gespiegelt und auch entsprechend in der 'wp-config.php' angepasst. Die Verbindung funktioniert auch, ist alles i.O.

Ich habe jeweils in der Datenbank die URL der Blogs angepasst. Dies habe ich mit suchen und ersetzen gemacht und auch das hat wunderbar funktioniert.

Wenn ich mich nun durch das Menü von englisch.com klicke, funktioniert auch erst alles wunderbar, doch dann wird plötzlich wieder auf deutsch.de verwiesen. Um sicherzustellen, das es im Theme selbst keine Verlinkung auf die deutsch.de gibt, habe ich in sämtlichen Files des Themse nach deutsch.de gesucht - es wurde aber nichts gefunden, also dürfte es keinen Hardlink im Theme selbst geben.

Ich habe auch mal den Cache des Browsers geleert und von einem anderen PC aus auf die Seite zugegriffen - das Problem besteht dennoch.

Meine Frage lautet nun... kann dies an den Einstellungen der oben genannten .htaccess liegen?

29.02.2012 00:15

14 KalleG

Jetzt Abe ich den Fehler hoffentlich gefunden, folgendes musste aus der .htaccess gelöscht werden:

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

Die beiden Zeilen habe ich bei einer Google Suche gefunden. Sie sollten dazu dienen, einen Loop zu verhindern, welcher bei einer solchen Umleitung zu einem Fehler führen kann.

29.02.2012 12:19

15 KalleG

Hallo zusammen,
hallo Jörg,

jetzt funktioniert meine .htaccess ja schon ein paar Tage ;) doch mir ist nun ein weiterer Fehler aufgefallen. Meine .htaccess sieht nun wie folgt aus:

Options +FollowSymLinks
 
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www.deutsch.de$ 
RewriteCond %{REQUEST_URI} !^/_ger/ 
RewriteRule ^(.*)$ /_ger/$1

RewriteCond %{HTTP_HOST} ^www.englisch.com$ 
RewriteCond %{REQUEST_URI} !^/_eng/ 
RewriteRule ^(.*)$ /_eng/$1

RewriteCond %{HTTP_HOST} ^(test\.)?deutsch\.de
RewriteRule ^(.*)$ _test/$1

Rufe ich die Domains jeweils über "http://www.deutsch.de" oder "http://www.englisch.com" auf, dann ist alles in Ordnung. Rufe ich allerdings "http://deutsch.de" auf, lande ich auch auf der englischen Seite.

Kann dies irgendwie unterbunden werden?!

21.03.2012 00:55

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]