Hallo,
sorry ich kenn mich nicht arg gut mit php aus.
Dann lerne es ;-)
Wenn Du einen bestimmten Schritt in meinem Skript nicht verstehst,
frag nach.
$ok["www.example.org/robots.txt"]=true;
$ok["www.example.net/robots.txt"]=true;
wieso bei ok immer die domain mit robots.txt? muss man diese mit robots.txt angeben? Oder bei ok einfach alle meine domains also example.de, example.com ?? oder weshalb muss die robots.txt da hinter noch stehen?
Man koennte durchaus einfach nur den Server-Teil der URL beachten.
Ich habe mich fuer die vollstaendige URL entschieden.
Das ist Geschmackssache.
Ich gehe davon aus, dass man folgendes anschauen will:
Die vollstaendige URL, die der Client/Robot angefordert hat.
So definiere ich ja die Variable $kompletturl:
$serververlangt=$_SERVER["HTTP_HOST"];
$urlrest=$_SERVER["REQUEST_URI"];
$kompletturl=$serververlangt.$urlrest;
Dort soll also z.B. drinstehen:
www.example.com/robots.txt
Und mit dieser Variable mache ich spaeter den Vergleich,
d.h. ich schaue, ob es ein Array-Element mit diesem
Schluessel gibt oder nicht.
Wie gesagt, koennte man stattdessen auch eine
SWITCH/CASE Konstruktion nehmen.
Die Array-Loesung ist einfach etwas kompakter.
Wenn ich die erlaubten Varianten eingegeben habe, dann muss ich doch eigentlich keine Verbotenen Varianten einfügen, da er ja eh nur die erlaubten nehmen soll.
Verbotene gibt es ja einige..
kann ich die Zeile else dann weglassen??
Du begreifst offenbar nicht, was Du tun willst.
Und Du begreifst nicht, dass die robots.txt dazu da ist,
Dinge zu verbieten, und nicht, Dinge zu erlauben.
Die Robots verhalten sich nach dem Grundsatz:
"Was nicht verboten ist, ist erlaubt".
Du willst doch, dass, wenn ein Robot
subdomain2.example.com/robots.txt
verlangt, er ein Verbot kriegt, irgendetwas auf diesem "Server"
(subdomain2.example.com) zu besuchen.
Gerade das _Verbot_ musst Du explizit in der
robots.txt aussprechen.
=> Gerade der _else_ Teil ist entscheidend.
Im _if_ Teil koenntest Du auch einfach "nichts" ausgeben.
Dann geht der Robot davon aus, dass er auf diesem "Server"
alles besuchen darf.
Das _Skript_ geht also von der Idee aus:
Was nicht ausdruecklich erlaubt ist, ist verboten.
Bei allen nicht definierten (Sub-)Domains
wird den Robots ein "Verbot" ausgeliefert.
Gruesse,
Thomas