arkakus
Mitglied seit: 09.11.2012

Themenersteller
Neuling (3 Beiträge)

duplicate content, google webmaster und

04.02.2016, 17:07 Uhr    .htaccess    1989 mal gelesen    4 Antwort(en).

Hallo,

langsam bin ich am verzweifeln.
Ich habe 3 Wünsche:
1. duplicate content vermeiden,
2. erreichen dass bei Eingabe der URL mit "www" die Seite auf die URL ohne "www" umgeleitet wird und
3. kann ich derzeit meine Seite über
meine-seite.de/verzeichnis/index.php
als auch über
meine-seite.de/verzeichnis
aufrufen
und das möchte ich ändern weil die SEO Analyse das bemänglet.

Wie kann ich das in der htaccess einstellen?
Derzeit steht folgendes drin:
___________________________
ErrorDocument 404 /404.php

RewriteEngine On
RewriteBase /

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

RewriteRule ^index\.(html?|php)$ %{HTTP_HOST} [R=301,QSA,L]
___________________________

Damit wird bei der Analyse zwar kein duplicate content festgestellt, aber die URL wird immer noch mit "www" angezeigt wenn ich es eingebe. Und Wunsch 3 ist auch nicht umgesetzt.

Ich hab es dann so versucht:
ErrorDocument 404 /404.php
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ www.%{HTTP_HOST}/$1 [R=301,QSA,L]
RewriteRule ^index\.(html?|php)$ %{HTTP_HOST} [R=301,QSA,L]

Damit kann ich aber das CMS nicht mehr aufrufen.

In den Google Webmaster Tools habe ich eingetragen, dass die Site ohne www bevorzugt werden soll.
Beißt sich da etwas? Hab ich da etwas falsch verstanden? Gibt es eine Lösung?
Vielen Dank!


matthes
Mitglied seit: 08.05.2010

Foren Moderator
Evil Genius
Content Halbgott (967 Beiträge)
04.02.2016, 17:29 Uhr

arkakus schrieb:
Hab ich da etwas falsch verstanden?


Ja.

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


Zeile 1: Wenn HTTP_HOST nicht mit "www." beginnt
Zeile 2: alles auf www.HTTP_HOST umleiten
Also das genaue Gegenteil.
In Zeile 1 das Ausrufezeichen entfernen, in Zeile 2 die Zeichenfolge www.

arkakus schrieb:
meine-seite.de/verzeichnis/index.php
als auch über
meine-seite.de/verzeichnis


Du meinst sicher "verzeichnis/", oder? Sonst hätten wir noch ganz andere Bedingungen...

arkakus schrieb:
RewriteRule ^index\\.(html?|php)$ %{HTTP_HOST} [R=301,QSA,L]


Heißt: wenn die Anfrage index.html, index.htm oder index.php lautet - und zwar ausschließlich, also nicht verzeichnis/index.php (^ markiert den String-Anfang, $ das Ende) - leite auf HTTP_HOST um.
Was du suchst, ist:
RewriteRule (.*)/index\\.(html?|php)$ %{HTTP_HOST}/$1/ [R=301,QSA,L]

Allerdings dürfte das zu einer Schleife führen, denn egal ob du verzeichnis/ oder verzeichnis/index.php aufrufst - die Anfrage wird mit der index.php beantwortet. D.h. mod_rewrite wird umleiten auf verzeichnis/, der Server teilt mod_rewrite mit, dass das die Datei verzeichnis/index.php macht und mod_rewrite leitet wieder um...
Du musst also noch eine RewritCond einfügen, die explizit prüft, ob die EINGABE /index.php enthielt. Das geht über %{THE_REQUEST}, z.B.

Probier es mal.


Make Seitenreport great again!

arkakus
Mitglied seit: 09.11.2012

Neuling (3 Beiträge)
10.02.2016, 11:59 Uhr

Hallo,
vielen Dank für die ausführliche Antwort. Leider hat das nicht so funktioniert....
Meinen dritten Wunsch habe ich erst einmal weggelassen und dann wie beschrieben das "!" und "www." weggelassen. Aber dann macht er bei Eingabe von www.meine-seite.de immer wwww.www.meine-seite.de daraus.
Ich habe nun schon etliches vesucht. Auch andere Hinweise die folgendes empfehlen:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\\.(.*)$ [NC]
RewriteRule ^/(.*)$ %1/$1 [R=301,L]
</IfModule>
Nix. Immer bleibt dieses blöde www. davor stehen. Welche Auswirkungen hat denn die Einstellung in den Google Webmaster Tools mit der bevorzugten Domain?

Vielen Dank!


matthes
Mitglied seit: 08.05.2010

Foren Moderator
Evil Genius
Content Halbgott (967 Beiträge)
10.02.2016, 12:14 Uhr

"Leider hat es nicht so funktioniert" ist keine qualifizierte Fehlermeldung.

Wenn man detaillierte Hilfe möchte, muss man auch detaillierte Beschreibungen abliefern.
Wie sah es aus als du "!" und "www." weggelassen hast? Es ist immer möglich, dass du dich vertippt hast.

Die bevorzugte Domain in den Webmaster Tools hat Einfluss darauf, wohin Google die Suchenden schickt und auf welche Weise der Bot Links verfolgt.

[html]<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\\.(.*)$ [NC]
RewriteRule ^/(.*)$ %1/$1 [R=301,L]
</IfModule>[/html]
Das ist unnötig kompliziert. Der Fehler liegt ganz offensichtlich woanders.
Zum Beispiel, theoretisch, in deinem Cache. Leere den mal.

Das funktioniert mit Sicherheit - example.com selbstverständlich austauschen:
[html]RewriteCond %{HTTP_HOST} ^www\\.
RewriteRule (.*) example.com/$1 [R=301,QSA,L][/html]


Make Seitenreport great again!

arkakus
Mitglied seit: 09.11.2012

Neuling (3 Beiträge)
11.02.2016, 16:02 Uhr

Danke! 4


  • 1

Neuen Beitrag erstellen

Um einen Beitrag zu erstellen, müssen Sie eingeloggt sein. Bitte melden Sie sich an.
EinloggenRegistrieren



« zurück zu: .htaccess

Das Seitenreport Forum hat aktuell 4134 Themen und 36063 Beiträge.
Insgesamt sind 47923 Mitglieder registriert.