Mám problém, našel jsem na internetu stránku, která se zobrazí při chybě 404 a pošle mi rovnou maila, která stránka nebyla nalezena atd. Problém je v tom, že furt dostávám maily, že se nenašel soubor robots.txt (nebo tak něco). Co je to za soubor? Kdo ho hledá? Jak se této hlášky zbavit?
(PHP trochu už umím, udělal jsem si i svůj redakční system)
Soubor 404 vypadá takto:
<?
$domena = "www.vkdc.unas.cz";
$docroot = "http://www.vkdc.unas.cz";
$fontface = "Times New Roman";
$fontsize = "2";
$bgcolor = "#000000";
$textcolor = "#bdedff";
// nyní pár kritérií která budou platit pro zasílání/nezasílání emailu, jestliže se chyba vyskytne
# 0 = neposílat emailové upozornění
# 1 = zaslat email pouze tehdy, když je chyba vygenerovaná z nějakého odkazu z vaší domény.
# 2 = zaslat email když je chyba na nějakém odkazu na Vaší stránce či když přichází někdo odjinud.
$reportlevel = 2;
$emailaddress = "martin-beran@seznam.cz";
function print_details()
{
global $fontface, $fontsize, $docroot, $REQUEST_URI, $reportlevel;
global $bgcolor, $textcolor;
echo "<HEAD><TITLE>404 - požadováná stránka nebyla nalezena na VKDC</TITLE>
<META content='text/html; charset=windows-1250' http-equiv=Content-Type></HEAD>
<link rel=stylesheet type=text/css href=vkdc/vse.css><BODY><br><br><br><br><center>
<font face='$fontface' size='$fontsize'><H1 class=nadpis>404 Not Found</H1>
<H1 class=pozadinadpis>Stránka nenalezena</H1>
<BR>Vámi hledaný dokument nebyl na stránkách Vlasteneckého klubu Děčín nalezen!<BR>";
if ($reportlevel != 0)
{
echo "Webmaster byl ihned při zobrazení této chyby informován. <br>Pokud má stránka existovat, brzy bude v provozu.";
}
echo "<BR><B>webmaster- <A href='mailto:$emailaddress'>$emailaddress</A> | návrat na- <a href='$docroot'>$docroot</a></B></FONT></center></body>";
return;
}
function send_email()
{
global $REQUEST_URI, $HTTP_REFERER, $emailaddress, $REMOTE_ADDR, $docroot;
$dnes = getdate();
$d_mes = $dnes[mon];
$d_den = $dnes[mday];
$d_rok = $dnes[year];
$d_hodina = $dnes[hours];
$d_minuta = $dnes[minutes];
$cas_erroru = "$d_den.$d_mesic.$d_rok v $d_hodina:$d_minuta";
$zprava .= "404 Chyba\n\n 404 byla zjistena na: $REMOTE_ADDR";
$zprava .= " $cas_erroru\n\n";
$zprava .= "Chyba byla zaznamenana na URL: \n$docroot$REQUEST_URI\n\n";
$zprava .= "Referovana stranka byla:\n$HTTP_REFERER\n\n";
mail("$emailaddress", "404 Chyba - $domena", $zprava, "From: $emailaddress");
return;
}
print_details();
if ($reportlevel != 0)
if ($reportlevel == 1) {
if (eregi($domena,$HTTP_REFERER))
send_email(); }
else
send_email();
exit;
?>
hledaj ho roboti - google, seznam etc.
fix:
a) vutvor ho
b) do ty 404-stranky si dej podminku - kdyz je soubor=='robots.txt', tak report proste ignoruj
Jak by ten soubor měl vypadat, kdybych ho chtěl vytvořit? Má bejt prázdnej či v něm něco má být? Nikdy jsem totiž nikde nečetl, že to roboti hledaj. Většinou bylo všude rozepsané jen používání hlaviček v indexu pro roboty.
Soubor robots.txt slouží k nastavení chování (slušnějších) vyhledávacích robotů. Dá se pomocí něj zakázat prolézání stránek i jednotlivých adresářů - ale jsou roboty, které ho ignorují. Najdeš ho na http://www.garykeith.com/browsers/downloads.asp