Home > Internet, Scripting > Mit oder ohne www bei STRATO (PHP Redirect 301)

Mit oder ohne www bei STRATO (PHP Redirect 301)


Suchmaschinen reagieren allergisch auf doppelten Content (Duplicate Content). Wenn deine Website einmal mit und einmal ohne www. erreichbar ist und den selben Inhalt zeigt wird dies als doppelter Content gewertet.

Dies wollen wir natürlich vermeiden. Normal würden wir jetzt mod_rewrite einsetzen.

Nur was machen wenn unser Anbieter uns kein mod_rewrite anbietet? Was machen wenn der Provider keine Festlegung der Standarddomain anbietet?
STRATO ist zum Beispiel so ein Anbieter.

Wir müssen das ganze per PHP realisieren. Dazu gibt es bei STRATO eine Besonderheit. Die Server Variable $_SERVER['HTTP_HOST'] gibt normal die im Browser aufgerufene URL wieder. Bei STRATO allerdings wird diese immer mit www. dargestellt.

Somit funktioniert folgende Variante bei STRATO nicht. Diese funktioniert aber bei den meisten anderen Anbietern.

Weitere Infos zum PHP Redirect 301 bei STRATO findet ihr hier:
Mit oder ohne www bei STRATO (PHP Redirect 301)

  1. 4. April 2010 um 12:28 | #1

    Hallo,

    leider scheint das nicht mehr ganz zu stimmen, ich bekomme immer nur den folgenden Fehlercode geliefert:

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /mnt/web4/12/69/52294069/htdocs/wasser/index.php on line 32

    Habe drei Domains bei STRATO BasicWeb XL, http://www.filly-pferde.de , http://www.ionisiertes-wasser.net und http://www.tamilische-rezepte.de und alle drei Webseiten können über www und ohne erreicht werden. Für ein mod_rewrite Modul zahlt man kann 2 € extra. Ein toller Verein!

    Ich habe deinen Code oder den von http://www.service-foren.de/viewtopic.php?f=127&t=141 in der index.php eingegeben aber es funktioniert nicht.

    Was mache ich falsch?

  2. ReneDD
    4. April 2010 um 13:09 | #2

    Hallo,

    wenn du eine bereits bestehende PHP Datei hast, dann musst den folgenden Code nach dem <?php einfügen:

    if (strpos($_SERVER['SCRIPT_URI'], 'www.') === false) {
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://&#39;.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']");
    exit();
    }
    else
    {
    header("HTTP/1.1 200 OK");
    }

    Wahrscheinlich hast du den kompletten Code mit <?php ?> eingefügt. Dies führt zu Fehlern.

    Mit freundlichen Grüßen
    Rene

  3. 13. Juli 2011 um 13:53 | #3

    nicht das erste mal das ich wegen strato solche artikel finden muss…

    danke

  1. Keine Trackbacks bisher.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Log Out / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Log Out / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Log Out / Ändern )

Verbinde mit %s

Follow

Bekomme jeden neuen Artikel in deinen Posteingang.