arkakus
Themenersteller
Neuling (3 Beiträge)

duplicate content, google webmaster und

am 04.02.2016, 17:07 Uhr eröffnete arkakus folgenden Thread
.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
Avatar matthes
Foren Moderator
Evil Genius
Content Halbgott (973 Beiträge)
am 04.02.2016, 17:29 Uhr schrieb matthes

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
Neuling (3 Beiträge)
am 10.02.2016, 11:59 Uhr schrieb arkakus

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
Avatar matthes
Foren Moderator
Evil Genius
Content Halbgott (973 Beiträge)
am 10.02.2016, 12:14 Uhr schrieb matthes

"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
Neuling (3 Beiträge)
am 11.02.2016, 16:02 Uhr schrieb arkakus

Danke!


  • 1


« zurück zu: .htaccess

Das Seitenreport Forum hat aktuell 5273 Themen und 36107 Beiträge.
Insgesamt sind 48345 Mitglieder registriert.