Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Domain auf (fast) unendlich verschiedene Arten aufrufbar

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
Neues Thema Antworten
turnschuh
PostRank 2
PostRank 2
Beiträge: 51
Registriert: 16.02.2008, 20:46

Beitrag von turnschuh » 10.03.2009, 23:14

Hallo,
bin von einem Checkertool gewarnt worden, dass meine Domain auf verschiedene Weise aufrufbar ist, und dies möglicherweise ein DC-Problem darstellt.

domainname.tld/
domainname.tld//
domainname.tld///
u.s.w.

und
domainname.tld/index.html
domainname.tld//index.html
domainname.tld///index.html
u.s.w.


Meine .htaccess sieht so aus:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.domainname\.tld$
RewriteRule ^(.*)$ https://www.domainname.tld/$1 [L,R=301]

Was mache ich da falsch? :(

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Nullpointer
PostRank 10
PostRank 10
Beiträge: 4790
Registriert: 22.04.2005, 19:14
Wohnort: West Berlin

Beitrag von Nullpointer » 11.03.2009, 08:34

Der Code sieht doch eigentlich gut aus. Stimmt es denn, was das Tool meldet?
Wo kommst Du hin, wenn Du diese URLs aufrust? Du kannst auch mit Firefox Plugins einfach den Response Code anzeigen lassen. Bei den Umleitungen, sollte dort ein 301 redirect angezeigt werden.

Wenn die Umleitungen nicht funktionieren sollten, wird die .htaccess evtl. ignoriert, was am Webspace liegen könnte.

JohnBi
PostRank 10
PostRank 10
Beiträge: 2957
Registriert: 22.02.2009, 20:31

Beitrag von JohnBi » 11.03.2009, 08:38

hier damit behebste das Problem

Code: Alles auswählen

RewriteRule ^index.html$ / [R=301,L] 
RewriteRule ^(.*)/index.html$ /$1/ [R=301,L] 
RewriteRule ^(.*)/(.*)/index.html$ /$1/$2/ [R=301,L]
Probleme mit Google & Co.? Hier die Lösung! - Linktausch?! | Projekt kaufen?! |
-------------------------------------------
Der PostRank und das Anmeldedatum stehen in keinem Verhältnis zur Qualität der Antworten einiger User. {JohnBi, 2009}

profo
PostRank 9
PostRank 9
Beiträge: 1703
Registriert: 18.01.2007, 18:51

Beitrag von profo » 11.03.2009, 08:40

Der Rewrite-Code sollte zwar nach www.* umleiten, lässt aber den Rest unbelassen. Du solltest dann also bei Adressen wie "www.domainname.tld///index.html" landen. Dein CMS müsste diese Adressen jetzt korrekt auswerten und entsprechende 404er oder auch wieder Umleitungen veranlassen.

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 11.03.2009, 11:04

turnschuh hat geschrieben:bin von einem Checkertool gewarnt worden
[…]
domainname.tld/
domainname.tld//
domainname.tld///
Ganz ehrlich: Wenn das Teil allen Ernstes Mülladressen mit mehreren Schrägstrichen abprüft, dann taugt es nichts bzw. ist ein Spielzeug für Paranoiker. Von so einem Unfug solltest du dich nicht sonderlich irritieren lassen.
Du kannst aber ein wenig Vorsorge tragen, indem du in deinen Verweisen absolute Pfade verwendest (/bla/fasel/ statt fasel/). Sollte sich in den nächsten hundert Jahren doch mal jemand vertippen und einen Schrägstrich zu viel eintragen, pflanzt sich das Übel wenigstens nicht fort. Falls du nichtsdestotrotz viel Prozessorzeit zu verschenken und noch mehr Angst hast:

RewriteCond %{THE_REQUEST} "^(?:GET|HEAD) (.*?)/{2,}(.*?) "
RewriteRule . %1/%2 [R=301,L]

Wirkt merkwürdigerweise nicht bei example.com///, tiefere URLs wie zum Beispiel example.com///test oder example.com///bla//////fasel////// werden aber abgefangen.

Die Geschichte mit den index.xy-Dateien kannst du davon unabhängig folgendermaßen beheben:

1.
Gar nicht erst auf index.xy verweisen.

2.
Dafür sorgen, dass auch andere nicht auf index.xy verweisen.

3.
Prüfen, dass wirklich niemand auf index.xy verweist.

4.
RewriteCond %{THE_REQUEST} "^(?:GET|HEAD) (.*/)index\.[a-z]+[? ]"
RewriteRule . %1 [R=301,L]

In dieser Reihenfolge.

turnschuh
PostRank 2
PostRank 2
Beiträge: 51
Registriert: 16.02.2008, 20:46

Beitrag von turnschuh » 11.03.2009, 22:25

Vielen Dank für Eure Antworten,
habe die Lösungsvorschläge mal ausprobiert. Bei mir gabs folgende Ergebnisse:

reduziert https://www.domainname.tld////index.html zu https://www.domainname.tld/ :P
JohnBi

Code: Alles auswählen

RewriteRule ^index.html$ / [R=301,L] 
RewriteRule ^(.*)/index.html$ /$1/ [R=301,L] 
RewriteRule ^(.*)/(.*)/index.html$ /$1/$2/ [R=301,L]
hier hat sich https://www.domainname.tld////index.html nichts verändert
Mork vom Ork

Code: Alles auswählen

RewriteCond %{THE_REQUEST} "^(?:GET|HEAD) (.*?)/{2,}(.*?) " 
RewriteRule . %1/%2 [R=301,L]
reduziert https://www.domainname.tld////index.html zu https://www.domainname.tld////
Mork vom Ork

Code: Alles auswählen

RewriteCond %{THE_REQUEST} "^(?:GET|HEAD) (.*/)index\.[a-z]+[? ]" 
RewriteRule . %1 [R=301,L]
die .htaccess sieht bei bir jetzt so aus:

Code: Alles auswählen

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

RewriteRule ^index.html$ / [R=301,L] 
RewriteRule ^(.*)/index.html$ /$1/ [R=301,L] 
RewriteRule ^(.*)/(.*)/index.html$ /$1/$2/ [R=301,L]
Die Ausdrücke https://www.domainname.tld//// {/=n} bleiben dann zwar so stehen, aber die index ist weg, egal mit wieviel Slashes.
Somit hat sich das Problem für mich, mit der (fast Unendlichkeit) erledigt.

Vielen Dank an für Eure Hilfe. :P

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag