MikeXY: regulärer Ausdruck für Domainumwandlung

Guten Abend,

ich bin leicht am verzweifeln.

Ich möchte per redirect folgendes erreichen:

aus: http://example.com.www207.your-server.de/weitereURLteile

soll folgendes werden: http://example.com/weitereURLteile

Ich nutze ein Wordpress Plugin "Redirections", welches reguläre Ausdrücke anwenden kann... Ich möchte den Teil ".www207.your-server.de" aus der URL löschen, nur weiss ich nicht wie.

  1. Ich nutze ein Wordpress Plugin "Redirections", welches reguläre Ausdrücke anwenden kann.

    Da will ich mich jetzt gar nicht einlesen und halte es auch nicht für angemessen, hierfür ein solches Plugin zu verwenden, denn die Lösung hat 3 Zeilen, erst PHP, dann Wordpress, dann noch ein Plugin DAFÜR zu laden ist Unsinn.

    Ich möchte den Teil ".www207.your-server.de" aus der URL löschen, nur weiss ich nicht wie.

    .htaccess (falls erlaubt)

    -----------------------------
    1 | RewriteEngine on
    2 | RewriteCond %{HTTP_HOST} ^example.com.www207.your-server.de$
    3 | RewriteRule ^/(.*)$ http://example.com/$1 [L,R=301]
    -----------------------------

    Erläuterung:

    1: schaltet RewriteEngine ein
    2: legt fest, dass die folgende Regel nur für Hostname example.com.www207.your-server.de gilt.
    3: leitet alle Anfragen (ab Pfad, mit GET-Daten), deshalb die Einklammerung, an den "anderen" Server um. Sendet das Signal, dass der Umzug permanent ist und dass keine weitere Regel beachtet werden soll.

    Einfacher wäre es, wenn die verschiedenen Servernamen auf verschiedene Pfade verweisen würden.

    Dann würde nämlich
    -----------------------------------------------------
    RewriteEngine on
    RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
    -----------------------------------------------------
    in der .htaccess des "falschen Servers" genügen, mehr müsste dort auch nicht mehr sein.

    Jörg Reinholz

    1. Ich möchte den Teil ".www207.your-server.de" aus der URL löschen, nur weiss ich nicht wie.

      .htaccess (falls erlaubt)


      1 | RewriteEngine on
      2 | RewriteCond %{HTTP_HOST} ^example.com.www207.your-server.de$
      3 | RewriteRule ^/(.*)$ http://example.com/$1 [L,R=301]

      Herlichen Dank! Du hast Recht, dachte das Plugin würde irgendwas leichter machen aber das ist Blödsinn. Jedenfalls habe ich mit deinem Code etwas experimentiert. Leider funktioniert es nicht so, wie es sollte. Ich habe schon versucht mit Hilfe von Wikipedia und "probieren geht vor studieren" andere Möglichkeiten auszuprobieren, aber das funktioniert leider nicht.
      Am Anfang der letzten Zeile, muss irgendwas geändert werden aber verstehe nicht was, konkret tritt der Fehler hier auf:

      http://sample.com.www207.your-server.de/wp-content/uploads/2011/03/foto.gif

      Es geschieht nichts mit der URL.

      Wenn ich "^/" wegmache, passiert eine Menge aber dann fallen auch die Ordner "/wp-content/uploads/" weg und es kommt http://sample.com/2011/03/foto.gif raus, was natürlich nicht zum Foto führt sondern zu einer 404 Error Meldung.

      1. Wenn ich "^/" wegmache, passiert eine Menge aber dann fallen auch die Ordner "/wp-content/uploads/" weg und es kommt http://sample.com/2011/03/foto.gif raus, was natürlich nicht zum Foto führt sondern zu einer 404 Error Meldung.

        Eventuell mehrere Umleitungen?

        Das bekommt man entweder mit den Entwicklertools Deines Browsers heraus oder mit:

        wget -d --delete-after DEINE_URL

        (wget gibts auch für Windows)
        Alternativ brauch ich die reale URL, dann ich mir das hier ansehen.

        Womöglich ist da ein Proxy "im Wege" oder aber Dein Wordpress-Plugin.

        Am Anfang der letzten Zeile, muss irgendwas geändert werden

        Ähm. Nö. Eher nicht.

        Was gibt denn ein

        <pre><?php print_r($_SERVER) ?></pre>

        in einer test.php zurück?

        Jörg Reinholz

        1. Guten Abend Jörg,

          ich freue mich, dass du mich nicht alleine gelassen hast.

          Meine Duseligkeit war verantwortlich! Ich hatte anscheinend eine bereits angelegte htaccess Datei übersehen. Nachdem ich deine richtigen Zeilen da eingefügt habe, funktioniert alles wunderbar! Menschliches Versagen als Ursache also...

          Vielen Dank!