Seite 1 von 1

Seltsame Pfade

Verfasst: 31.01.2008, 12:34
von unknownsoul
Hallo zusammen,

ich habe derzeit folgendes Problem. Irgendjemand hat mich auf diese Art verlinkt: www.domain.de/seite.php/seite.php

Das Problem ist, dass Google diese Seite natürlich auch crawlt und die Unterseite "seite.php/seite.php" auch im Browser angezeigt wird. Allerdings ohne stylesheet etc. Aber der Content selbst erscheint. Nun schnappt sich Google diese Seite als Basis und crawlt das gesamte Projekte nach diesem Schema. Grundlage ist immer diese "seite.php". Er hängt nach dem "/" immer eine andere existente Seite dran.

Kann man das Ganze irgendwie per .htaccess unterbinden?

Verfasst:
von
Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Verfasst: 01.02.2008, 03:48
von To-Bi-As
@unknownsoul
ja, kann man verhindern, aber in dem Fall würde ich da nix verhindern wollen sondern lieber den Fehler suchen.

www.domain.de/seite.php selber steht ja wohl nicht in der .htaccess, also wird die Datei direkt aufgerufen und zwar im Verzeichnis "seite.php". Dieses wird es ja wohl nicht geben, also sollte da Dein vorhandenes System einen Fehler liefern.

Im Nachhinein nochmal prüfen und verbieten geht, ist aber ungeschickt.

Entweder sind da die vorhandenen Rules fehlerhaft, so dass die Mist durchlassen, oder das Script selber. Also genauere Infos mit echten Beispielen wären schon besser um was zu sagen.

Gruß, Ingo

Verfasst: 01.02.2008, 09:49
von unknownsoul
Das betrifft wohl etliche Seiten (Beispiel): https://www.abakus-internet-marketing.d ... 52331.html

Ich hab dazu mal mehrere, z.T. auch sehr bekannte Seiten getestet. Bisher hats überall geklappt, wenn ich den Dateiname nochmal mit "/dateiname.Endung" ranhänge. Muss auch nicht unbedingt der Dateiname sein. Irgendein Anhängsel reicht.

Das liegt meines Wissens dann nicht am Script oder einer fehlerhaften .htaccess.

Ich frage jetzt per PHP auf der betreffenden "seite.php" ab, ob $_SERVER['PHP_SELF'] noch etwas anderes enthält, als es enthalten darf. Wenn ja, bekommt Google nun einen 404. Aber eine echte Lösung, für allem für das gesamte Projekt, scheint das nicht zu sein.

Der Fehler selbst entstand, weil ich so fehlerhaft verlinkt wurde. Der Link wurde zwar geändert, aber Google kennt nun diese "neue" Seite und crawlt.

Verfasst:
von

base

Verfasst: 01.02.2008, 10:24
von seonewbie
<base href="https://www.DeineDomain.de/">

dann sollte er auch die css nehmen wenn die
dort in der index.php steht.

Verfasst: 02.02.2008, 04:41
von To-Bi-As
@unknownsoul
Das Beispiel von Abakus finde ich gut und würde für mich einen Fehler in der .htaccess bedeutet.

Wenn die nach etwas wie "https://www.abakus-internet-marketing.d ... (.*)\.html$ prüft, dann kann dazwischen vorkommen was mag. Das folgende Script könnte das dann aber dennoch lösen.

Bei Dir waren es aber .php Dateien die ja wohl nicht durch eine Rule laufen, oder? Also scheint es das Script zu sein. Nur mal so gesagt, alle PHPLD die ich kenne haben den Fehler auch. Geprüft wird immer nur der Anfang und das Ende, aber nicht was dazwischen ist.

Gruß, Ingo

Verfasst: 02.02.2008, 12:49
von unknownsoul
Nein es spielt keine Rolle, ob es .html oder .php oder irgendetwas anderes ist. Alles was nach "www.domain.de/seite.php/" kommt, wird von Google als neue Seite angesehen und entsprechend gecrawlt. Also auch Dinge wie www.domain.de/seite.php/123
Das Problem ist der "/".

Ein Fehler der .htaccess ist das nicht. Aber ich habe die Lösung jetzt und möchte das niemandem vorenthalten Wenn man den nachfolgenden Code in die .htaccess einbaut, dann hat man in dieser Hinsicht keine Probleme mehr

Code: Alles auswählen

RewriteCond %&#123;DOCUMENT_ROOT&#125;/$1 -f 
RewriteRule &#40;.+\.&#91;^/&#93;+&#41;/ /$1 &#91;L,R=301&#93;

Verfasst: 02.02.2008, 13:38
von chris21
Hintergrund dessen, was da gerade passiert, ist die Einstellung für AcceptPathInfo in Euren Apache-Einstellungen.

Über die .htaccess kann man dies mit:

Code: Alles auswählen

AcceptPathInfo Off
unterbinden. Allerdings sollte man beachten, dass dann alle URLs der Art forum.php/f1/t33 z.B. nicht mehr möglich sind. Werden aber solche URLs nicht verwendet, hilft obiger Code in der .htaccess perfekt.