nicki1993: URL Weiterleitung mit Bedingung möglich?

Hallo zusammen,
Im Rahmen eine Projektes wurde eine Webseite mit Joomla erstellt. Der Kunde hat zwei Domains (www.name.de und www.name-ort.de).
Jetzt das Problem: Der Kunde wünscht eine Weiterleitung von www.name.de auf www.name-ort.de, falls der Benutzer www.name.de aufgerufen hat. Mit einer normalen HTML Weiterleitung komme ich hier nicht weiter, da es nur eine index.php gibt und die Weiterleitung dann in einer Endlosschleife laufen würde, sobald der Benutzer auf www.name-ort.de umgeleitet wurde.

Gibt es einen einfachen Weg den Benutzer umzuleiten? Gegebnfalls mit Abfrage der Adresszeile (wenn www.name.de, dann weiterleitung, wenn nicht, dann nicht)?

Ich würde mich über jede Hilfe freuen,
mfg nicki1993

PS: Ich hoffe ich habe den richtigen Themenbereich ausgewählt.

  1. Moin Moin!

    Jetzt das Problem: Der Kunde wünscht eine Weiterleitung von www.name.de auf www.name-ort.de, falls der Benutzer www.name.de aufgerufen hat. Mit einer normalen HTML Weiterleitung komme ich hier nicht weiter, da es nur eine index.php gibt und die Weiterleitung dann in einer Endlosschleife laufen würde, sobald der Benutzer auf www.name-ort.de umgeleitet wurde.

    Nur, wenn beide (virtuellen) Hosts den selben Inhalt liefern. Lasse den Host mit dem unerwünschten Namen auf den gewünschten Namen umleiten. Das geht komplett mit Server-Mitteln, PHP braucht man dafür nicht: Apache Redirect und insbesondere Apache "Resource Moved to Another Server" (Funktioniert trotz 2.4 in der URL auch mit alten Indianern.)

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  2. hi,

    Jetzt das Problem: Der Kunde wünscht eine Weiterleitung von www.name.de auf www.name-ort.de, falls der Benutzer www.name.de aufgerufen hat.

    Möchte der Kunde nur die anderen Inhalte sehen oder wünscht er eine Umleitung mit Status 30x?

    Hotti

    1. hi,

      Möchte der Kunde nur die anderen Inhalte sehen oder wünscht er eine Umleitung mit Status 30x?

      Leider kenne ich mich mit diesen Weiterleitungsstandards noch nicht so wirklich aus. Der Inhalt beider Seiten ist der selbe, nur die Bezeichnung in der Adresszeile stört den Kunden.
      Ich denke ich werde Alexanders Vorschlag mal umsetzen.

      Vielen Dank für eure Hilfe ;)

      nicki1993

  3. Jetzt das Problem: Der Kunde wünscht eine Weiterleitung von www.name.de auf www.name-ort.de, falls der Benutzer www.name.de aufgerufen hat.

    Gut.

    Du musst zwei Dinge entscheiden. Welche Art Umleitung möchtest Du haben. Und, wo möchtest Du es machen:
    a) Auf dem Server beim Verarbeiten des Requests (bei Apache mod_rewrite, bei Win url rewrite),
    b) in der Serverseitigen Scriptsprache, zum Bsp. php (header). Die Prüfung würde hier zum Beispiel über den Wert in $_SERVER["SERVER_NAME"] laufen.
    c) beim User (javascript).

    Cheers,
    Baba

    1. Moin Moin!

      Du musst zwei Dinge entscheiden. Welche Art Umleitung möchtest Du haben.

      Nein, eigentlich nicht. Für "häßliche URL weg, schicke URL her", gibt es nur einen Statuscode: 301 Moved Permanently. Damit wird jedem User-Agent, egal ob Browser oder Spider, signalisiert, er möge seine Bookmarks bzw. Datenbank auf die schicke URL ändern.

      Und, wo möchtest Du es machen:

      Nein, auch nicht. Es gibt eine saubere Lösung (mod_alias) und viel Gepfusche:

      a) Auf dem Server beim Verarbeiten des Requests (bei Apache mod_rewrite, bei Win url rewrite),

      mod_alias reicht für die Redirect-Direktive, die u.a. in jedem VHost-Kontext erlaubt ist. Die mod_rewrite-Bremse darf aus bleiben. Neuen VHost für unerwünschte(n) Namen anlegen, komplett leer lassen, Redirect-Direktive auf VHost mit gewünschtem Namen einrichten ("Redirect permanent / http://www.huebscher-name.tld/"), fertig. Das funktioniert für ALLE "häßlichen" URLs, ohne dass man sich mit regulären Ausdrücken und komplizierten Regeln herumschlagen muß.

      b) in der Serverseitigen Scriptsprache, zum Bsp. php (header). Die Prüfung würde hier zum Beispiel über den Wert in $_SERVER["SERVER_NAME"] laufen.

      Unnötig kompliziert. Der Riesenumweg über PHP muß nicht sein, siehe oben.

      Nur, wenn mehrere Domains auf dem selben VHost laufen, z.B. bei schlecht konfiguriertem Shared Hosting, kann das eine Krücke sein. Das muß dann aber in ALLE PHP-Scripte rein, die Inhalte an den Browser liefern. Nicht vergessen: Anforderung war, die "böse" URL aus der Adresszeile herauszuhalten. Auch nicht-HTML-Resourcen müssen für diesen Murks über PHP ausgeliefert werden, was absolut sinnfrei serverseitig jede Menge Resourcen verbrennt.

      c) beim User (javascript).

      Funktioniert nicht. Javascript ist mittlerweile eine Pest, die oft genug abgeschaltet oder gesperrt wird. Außerdem ist das extrem unfreundlich gegenüber Suchmaschinen, die so weiter die "häßliche" URL auflisten, weil sie von der Weiterleitung auf die "hübsche" URL nichts mitbekommen.

      Die Option, die <http://de.selfhtml.org/html/kopfdaten/meta.htm#weiterleitung@title=Weiterleitung beim User OHNE Javascript> zu implementieren, hast Du lustigerweise nicht einmal erwähnt.

      Nicht, dass die wesentlich besser wäre, auch hier müssen wie bei der Javascript-"Lösung" alle ausgelieferten (X)HTML-Dokumente angefaßt werden.

      Die Redirect-Direktive erschlägt das für ALLE Resourcen unter der "häßlichen" Domain mit einer einzigen Zeile in einer Konfigurationsdatei, und ohne dass der Webserver irgendwelche Interpreter oder externen Programme bemühen muß.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".