Onkel Hans: mit/ohne 'www' über .htaccess-Datei

Moin!

Ich möchte, um doppelten Content für Suchmaschinen auszuschließen, entweder NUR http://example.org oder NUR http://www.example.org zulassen.

Ist eines davon besser oder ist es nur wichtig, sich für eines zu entscheiden?

Für ersten Fall habe ich Folgendes in der .htaccess:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.org$ [NC]
RewriteRule ^(.*)$ http://example.org/$1 [R=301,L]

Da wird in der Adresszeile des Browsers aus 'www.example.org/datei.php' und aus 'http://www.example.org/datei.php' in BEIDEN Fällen ein 'http://example.org/datei.php'. So wie erwartet.

Aber aus 'www.example.org' und aus 'www.example.org/' wird NICHT wie erwartet ein 'http://example.org' bzw. ein 'http://example.org/' sondern die Eingabe bleibt gleich. Wieso?

mfg

Onkel Hans

  1. Moin!

    Ich möchte, um doppelten Content für Suchmaschinen auszuschließen, entweder NUR http://example.org oder NUR http://www.example.org zulassen.

    Die Zuständigkeit hierzu sehe ich ausschließlich beim Provider (DNS und Webserver sind entsprechend zu konfigurieren).

    Hotte

    --
    Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
    1. Mahlzeit,

      Die Zuständigkeit hierzu sehe ich ausschließlich beim Provider (DNS und Webserver sind entsprechend zu konfigurieren).

      Was hat bitte der DNS mit einer Subdomain des Webservers zu tun?

      1. Moin,

        Die Zuständigkeit hierzu sehe ich ausschließlich beim Provider (DNS und Webserver sind entsprechend zu konfigurieren).

        Was hat bitte der DNS mit einer Subdomain des Webservers zu tun?

        Ohne DNS gäbe es keine Subdomains. Da hättest Du hier gar nicht posten können.

        Schönen Sonntag,
        Hotte

        1. Mahlzeit,

          Ohne DNS gäbe es keine Subdomains. Da hättest Du hier gar nicht posten können.

          Dann spezifiziere ich: Was hat der DNS mit dem Problem des OP zu tun?
          Da die Weiterleitung teilweise funktioniert, ist der DNS offensichtlich passend eingerichtet, oder bist du anderer Meinung?

          1. Hallo!

            Auf einer anderen Seite im Netz habe ich folgende Schreibweise gefunden:

            RewriteEngine on
            RewriteCond %{HTTP_HOST} ^www.example.net$
            RewriteRule ^(.*)$ http://example.net/$1 [L,R=301]

            Und so klappt es. Esgal, was man eingibt, das 'www' kommt weg.

            Onkel Hans

            1. RewriteEngine on
              RewriteCond %{HTTP_HOST} ^www.example.net$
              RewriteRule ^(.*)$ http://example.net/$1 [L,R=301]

              Und so klappt es. Esgal, was man eingibt, das 'www' kommt weg.

              nein - hier wirst du umgeleigtet, wenn du die seite mit www.example.net aufrufst, sollte eine anfrage mit www.example.com ankommen, wird sie nicht umgeleitet, da das suchmuster nicht mehr zutrifft

              ebenso hätte dein ursprüngliche suchmuster darauf zutreffen müssen (lediglich der punkt nach dem www war nicht escaped - so hätte zb www.example.org und wwwfexample.com oder wwwbexample.org ebenfalls zugetroffen

              der post von multi beschreibt eine bessere lösung

              hier wird www.example.com nach example.com umgeleitet, www.example.net nach example.net usw

              das verhindert allerdings nur doppelten inhalt (der lt. google sowieso überbewertet wird) für die www-subdomain, nicht aber für völlig andere domains

              doppelten inhalt bei example.com, example.net und example.org gibts nachwievor

              sinnvoller ist es imho auf !^example.com$ zu matchen und dann auf example.com weiterzuleiten

              1. Mahlzeit,

                hier wird www.example.com nach example.com umgeleitet, www.example.net nach example.net usw

                umgekehrt, example.com wird nach www.example.com umgeleitet.

                das verhindert allerdings nur doppelten inhalt (der lt. google sowieso überbewertet wird) für die www-subdomain, nicht aber für völlig andere domains

                Stimmt, das hatte ich vergessen zu sagen. Meine Software wertet die Domain aus und zeigt dann die jeweils eingestellte Sprache an, dadurch haben verschiedene Domains eh verschiedenen Content.
                Wenn es nur eine Sprache gibt oder die Software nicht selektiert, ist das natürlich dann wieder doppelter COntent bei verschiedenen Sprachen.

          2. Dann spezifiziere ich: Was hat der DNS mit dem Problem des OP zu tun?
            Da die Weiterleitung teilweise funktioniert, ist der DNS offensichtlich passend eingerichtet, oder bist du anderer Meinung?

            sehe ich auch so - aus dem post geht eindeutig hervor, dass die jeweils andere variante umgeleitet und nicht verboten werden soll - wenn die www-subdomain garnicht erreichbar sein soll, dann wäre eine entsprechende dns-konfiguration das mittel der wahl

  2. Mahlzeit,

    Versuch mal ein

    RewriteCond %{HTTP_HOST} !^www.(.*)$
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301]

    damit hab ich bisher immer gute Erfahrungen gemacht.
    Da wird alles ohne www. nach www. weitergeleitet.