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

Ordner öffnet Datei (accept_path_info ist off)

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
mgutt
PostRank 10
PostRank 10
Beiträge: 3206
Registriert: 08.03.2005, 13:13

Beitrag von mgutt » 27.10.2006, 13:18

Diese Urls gehen mir auf den Keks:
www.maxrev.de/download/ (in Wirklichkeit: download.php)

trotz accept_path_info off kann der Dateien als Ordner öffnen :cry:
Zuletzt geändert von mgutt am 28.10.2006, 16:05, insgesamt 1-mal geändert.
Ich kaufe Dein Forum!
Kontaktdaten

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.


haha
PostRank 9
PostRank 9
Beiträge: 1065
Registriert: 03.04.2006, 18:08
Wohnort: Bi Hamborg

Beitrag von haha » 27.10.2006, 15:03

mgutt hat geschrieben:trotz accept_path_info off kann der Dateien als Ordner öffnen :cry:
Schalte mal die Option multiviews zusätzlich ab.

mgutt
PostRank 10
PostRank 10
Beiträge: 3206
Registriert: 08.03.2005, 13:13

Beitrag von mgutt » 27.10.2006, 18:28

Klappt leider auch nicht.

Hier der wichtige Teil meiner aktuellen .htaccess:

Code: Alles auswählen

<Files config.php> 
Deny from all 
</Files>

DirectoryIndex index.php index.htm index.html

ErrorDocument 400 /
ErrorDocument 401 /
ErrorDocument 402 /
ErrorDocument 403 /
ErrorDocument 404 /
ErrorDocument 500 /

# Note&#58; "safe_mode" can only been set in php.ini OR httpd.conf
# "safe_mode = off" is recommend, but only if your server
# has set more security configs. Otherwise "on" is recommend

# allow register globals
php_flag register_globals off

# allow backslash escaping for Get / Post / Cookie
php_flag magic_quotes_gpc on

# forbid files without extensions
# &#40;it can only been set if AllowOverride is set&#41;
AcceptPathInfo off

# forbid folders that are not present
Options -MultiViews
Ich kaufe Dein Forum!
Kontaktdaten

mgutt
PostRank 10
PostRank 10
Beiträge: 3206
Registriert: 08.03.2005, 13:13

Beitrag von mgutt » 28.10.2006, 16:20

Ich habe etwas herausgefunden:

Durch die error_document Zeilen wird das Startverzeichnis aufgerufen:

Code: Alles auswählen

ErrorDocument 400 /
ErrorDocument 401 /
ErrorDocument 402 /
ErrorDocument 403 /
ErrorDocument 404 /
ErrorDocument 500 /
Würde ich jetzt stattdessen das schreiben:

Code: Alles auswählen

ErrorDocument 404 http&#58;//www.maxrev.de/
Dann habe ich das Problem das der übermittelte Statuscode falsch ist. Denn dann wird umgeleitet und ein "302" (Found) ausgegeben. Lasse ich die Zeilen, so kommt der richtige Statuscode "404" (Not Found), aber dafür wird Inhalt dargestellt, der da eigentlich nicht sein sollte.

Und was macht die Suchmaschine daraus.. die listet den Unsinn, trotz Statuscode "404". Und nun?

Gruß
Ich kaufe Dein Forum!
Kontaktdaten

haha
PostRank 9
PostRank 9
Beiträge: 1065
Registriert: 03.04.2006, 18:08
Wohnort: Bi Hamborg

Beitrag von haha » 28.10.2006, 16:41

Der Zusammenhang ist mir jetzt nicht ersichtlich. Was hat die unkluge Nutzung der Startseite als Fehlermeldung mit download.php und download/ zu tun? Möchtest Du sagen, dass, sobald Du ErrorDocument mit einer absoluten URL (http://…) benutzt, download.php sich nicht mehr als download/ ansprechen lässt?

Falls ja, versuche es mit einem vollständigen lokalen Pfad für ErrorDocument, zum Beispiel /fehler/404.html.
Und was macht die Suchmaschine daraus.. die listet den Unsinn, trotz Statuscode "404". Und nun?
Du hast gerade erst vor ein oder zwei Tagen Deinen eigenen Fehler behoben (Weiterleitung statt 404), da kannst Du nicht erwarten, dass sofort alle daraus resultierenden falschen URLs aus den Indizes verschwinden. Falls sich in sechs Wochen noch nichts getan hat, dann ja.

PS: Im Moment gibt Dein Server vollkommen korrekt für download/ einen 404 und die Startseite aus.

mgutt
PostRank 10
PostRank 10
Beiträge: 3206
Registriert: 08.03.2005, 13:13

Beitrag von mgutt » 28.10.2006, 21:45

@ haha
Gerade durch die Änderung ist die Seite im Index aufgetaucht. Vorher wurde ja weitergeleitet auf die Startseite und da gab es den Link nicht.

Und ja, es kommt durch die ErrorDocument Zeile. Eine Fehlerseite möchte ich nicht haben.
Ich kaufe Dein Forum!
Kontaktdaten

haha
PostRank 9
PostRank 9
Beiträge: 1065
Registriert: 03.04.2006, 18:08
Wohnort: Bi Hamborg

Beitrag von haha » 29.10.2006, 10:26

mgutt hat geschrieben:Gerade durch die Änderung ist die Seite im Index aufgetaucht. Vorher wurde ja weitergeleitet auf die Startseite und da gab es den Link nicht.
Keine Suchmaschine nimmt Seiten auf, die 404 oder einen ähnlichen Fehler liefern. Es kann höchstens mal passieren, dass die URL (ohne jeglichen weiteren Inhalt) im Index erscheint, aber auch nur dann, wenn von irgendwo hartnäckig auf diese URL verwiesen wird.

Dass bei Dir jetzt trotz Fehler eine nicht existierende URL gelistet wird, liegt vermutlich eher daran, dass Du bislang immer behauptet hast, die URL existiere. Da sie aber immer nur auf die Startseite weitergeleitet und somit keine eigene Bedeutung hatte, ist sie in den Ergebnissen immer unter den Tisch gefallen.
Mit dem Wechsel zur Fehlermeldung fällt sie zwar nicht mehr unter den Tisch, lebt aber wahrscheinlich noch eigenständig bis zum nächsten Indexupdate in x Wochen weiter. Der Status 404 heißt lediglich "nicht gefunden", nicht "wurde entfernt"; das Fehlen der Seite könnte sich also auch um ein Versehen handeln und Google geht auf Nummer sicher.

Davon unabhängig solltest Du die Ursache des ganzen Problems beseitigen: Irgendwo muss auf /download/ oder /download verwiesen werden. Beobachte Dein Fehlerprotokoll.

mgutt
PostRank 10
PostRank 10
Beiträge: 3206
Registriert: 08.03.2005, 13:13

Beitrag von mgutt » 02.11.2006, 17:29

Ich kann in den Logfiles leider nichts finden. Aber meine Theorie deckt sich mit Deiner Aussage. Ich denke, dass ich vor langer Zeit diesen Ordner hatte oder es einen Link darauf gab (kann ich mich zwar nicht dran erinnern, aber egal). Und jetzt ist es so, dass durch die Änderung in der .htaccess der "richtige" Statuscode angezeigt wird. Ich werde einfach abwarten, habe aber jetzt schon ein paar Fehler gefunden, die mich stören, weil der Endanwender ebenfalls solche Seiten zu Gesicht bekommt.

Nochmal als Beispiel diese Url öffnet meine Startseite: (damit kann ich leben)
https://www.maxrev.de/falsche-adresse.htm

Aber das ist nervig:
https://www.maxrev.de/falsche-adresse/

Also wie könnte ich im Falle eines Verzeichnisses, dass gleiche Ergebnis (Startseite) und statuscode 404 erreichen :?:

Gruß

EDIT:

Ich habe das mal in der index.php probiert:

Code: Alles auswählen

// 404 fix
if&#40; $_SERVER&#91;'REQUEST_URI'&#93; != "/" && strrchr&#40;$_SERVER&#91;'REQUEST_URI'&#93;, "/"&#41; == "/" &#41;
&#123;
	header&#40;"HTTP/1.1 404 Not Found"&#41;;
//	header&#40;"Location&#58; http&#58;//www.maxrev.de/"&#41;;
	exit;
&#125;
Die Location-Zeile ist auskommentiert. Diese resultiert anscheinend eine Unendlichschleife. Mit auskommentierter Zeile wird nun einfach der 404 ausgegeben. Wäre jetzt eine Weiterleitung auf die Hauptdomain drin, wäre es super.

Wenn ich übrigens "/index.php" nutze geht es. Aber das will ich wieder nicht ;)

Gruß
Zuletzt geändert von mgutt am 02.11.2006, 19:39, insgesamt 1-mal geändert.
Ich kaufe Dein Forum!
Kontaktdaten

haha
PostRank 9
PostRank 9
Beiträge: 1065
Registriert: 03.04.2006, 18:08
Wohnort: Bi Hamborg

Beitrag von haha » 02.11.2006, 18:16

mgutt hat geschrieben:Nochmal als Beispiel diese Url öffnet meine Startseite: (damit kann ich leben)
https://www.maxrev.de/falsche-adresse.htm
Das ist so, wie Du es eingestellt hast, im Fehlerfall wird die Startseite ausgegeben.
Da kommt zumindest der 404. Wieso keine Seite kommt, kann ich Dir allerdings auch nicht verraten. Ins Blaue hinein würde ich als erstes statt der Startseite mal eine eigene Datei ausgeben lassen. Auch wenn ich vermute, dass das keine Änderung bringt, ist dann zumindest die Startseitengeschichte als Fehlerquelle ausgeschlossen. Darüber hinausgehend hilft normalerweise die Tabula-Rasa-Methode: Kopie der .htaccess anlegen, die .htaccess leeren und dann Zeile für Zeile aus der Kopie ins Original übernehmen, bis der Fehler auftritt.

mgutt
PostRank 10
PostRank 10
Beiträge: 3206
Registriert: 08.03.2005, 13:13

Beitrag von mgutt » 20.11.2006, 23:19

So, ich habe die Lösung. Ich habe das in der index.php eingebaut:
// 404 fix
if ( basename($_SERVER['REQUEST_URI']) == 'index.php' )
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://www.maxrev.de/");
exit;
}
else if( empty($_SERVER['argc']) && basename($_SERVER['REQUEST_URI']) != '' && basename($_SERVER['REQUEST_URI']) != basename($_SERVER['SCRIPT_NAME']) )
{
header("Location: https://www.maxrev.de/", true, 404);
exit;
}
Plus diesen Zeilen in der .htaccess:
ErrorDocument 400 /
ErrorDocument 401 /
ErrorDocument 402 /
ErrorDocument 403 /
ErrorDocument 404 /
ErrorDocument 500 /
Damit dürfte ich die "perfekte" Statuscode-Ausgabe haben.

Falsche Urls, liefern 404 Not Found und leiten auf Hauptdomain weiter:
www.maxrev.de/download/
www.maxrev.de/verzeichnis/test.php?test=test
www.maxrev.de/ordner/datei.zip
www.maxrev.de/datei.html
www.maxrev.de/folders/?test=test
www.maxrev.de/folder/index.php?test=test

liefern 301 Moved Permanently und leiten auf Hauptdomain weiter:
www.maxrev.de/folder/index.php (der 301 ist ein Trick, da der 404 hier nicht greift)
www.maxrev.de/index.php (netter Nebeneffekt :D)

liefern 200 Found:
https://www.maxrev.de/
https://www.maxrev.de/?test=test
https://www.maxrev.de/index.php?test=test

Gruß

EDIT:
Komisch:
https://www.maxrev.de/index.php? liefert 404 :-?
Ich kaufe Dein Forum!
Kontaktdaten

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag