je poste ici, ne sachant pas si le forum .htaccess ou php conviendrait mieux.
Je vous soumets un problème qui n'a pa pu être réglé sur le forum de mon hébergeur.
J'ai changé récemment de formule d'hébergement, toujours sur le même hébergeur et je ne reçois plus les fichiers texte me renseignant sur les erreurs 404.
Le fichier .htaccess est :
ErrorDocument 404 /log404.php
Le fichier log404.php :
CODE
<?php
header('HTTP/1.1 404 Page introuvable');
$charset = 'utf-8';
$ERR_URL = $HTTP_SERVER_VARS['REDIRECT_URL'];
if (isset($HTTP_SERVER_VARS['REDIRECT_QUERY_STRING'])) {
$ERR_URL .= '?' . $HTTP_SERVER_VARS['REDIRECT_QUERY_STRING'];
}
if ($f = _AT_fopen($HTTP_SERVER_VARS['HTTP_RACINE'] . '/logs/404.txt', 'a')) {
fputs($f, date('d/m/Y H:i:s') . ' ' .
$HTTP_SERVER_VARS['REMOTE_ADDR'] . ': ' .
$HTTP_SERVER_VARS['REDIRECT_REQUEST_METHOD'] . ' ' .
$ERR_URL . ' (' .
$HTTP_SERVER_VARS['REDIRECT_ERROR_NOTES'] . ') Ref: ' .
$HTTP_SERVER_VARS['HTTP_REFERER'] . "\n");
fclose($f);
}
?>
<html>
<head>
<title>Erreur 404</title>
etc
<h1>Erreur 404 : page introuvable / Error 404 / </h1>
<p>Le serveur <?php echo $HTTP_SERVER_VARS['SERVER_SOFTWARE'] ?> a indiqué
ceci:
<?php echo $HTTP_SERVER_VARS['REDIRECT_ERROR_NOTES'] ?>
</p>
<hr>
<p>La page que vous cherchez n'existe pas ou n'existe plus ou a été déplacée.Vous pouvez...
</p>
<ul>
<?php if ($HTTP_SERVER_VARS['HTTP_REFERER']) { ?>
<li><a href="<?php echo $HTTP_SERVER_VARS['HTTP_REFERER'] ?>">retourner à la page d'où vous venez</a> ;</li>
<?php } ?>
<li>bla bla</li>
</ul>
</body>
</html>
header('HTTP/1.1 404 Page introuvable');
$charset = 'utf-8';
$ERR_URL = $HTTP_SERVER_VARS['REDIRECT_URL'];
if (isset($HTTP_SERVER_VARS['REDIRECT_QUERY_STRING'])) {
$ERR_URL .= '?' . $HTTP_SERVER_VARS['REDIRECT_QUERY_STRING'];
}
if ($f = _AT_fopen($HTTP_SERVER_VARS['HTTP_RACINE'] . '/logs/404.txt', 'a')) {
fputs($f, date('d/m/Y H:i:s') . ' ' .
$HTTP_SERVER_VARS['REMOTE_ADDR'] . ': ' .
$HTTP_SERVER_VARS['REDIRECT_REQUEST_METHOD'] . ' ' .
$ERR_URL . ' (' .
$HTTP_SERVER_VARS['REDIRECT_ERROR_NOTES'] . ') Ref: ' .
$HTTP_SERVER_VARS['HTTP_REFERER'] . "\n");
fclose($f);
}
?>
<html>
<head>
<title>Erreur 404</title>
etc
<h1>Erreur 404 : page introuvable / Error 404 / </h1>
<p>Le serveur <?php echo $HTTP_SERVER_VARS['SERVER_SOFTWARE'] ?> a indiqué
ceci:
<?php echo $HTTP_SERVER_VARS['REDIRECT_ERROR_NOTES'] ?>
</p>
<hr>
<p>La page que vous cherchez n'existe pas ou n'existe plus ou a été déplacée.Vous pouvez...
</p>
<ul>
<?php if ($HTTP_SERVER_VARS['HTTP_REFERER']) { ?>
<li><a href="<?php echo $HTTP_SERVER_VARS['HTTP_REFERER'] ?>">retourner à la page d'où vous venez</a> ;</li>
<?php } ?>
<li>bla bla</li>
</ul>
</body>
</html>
Le répertoire "logs" dans le lequel les fichiers texte devraient apparaître en cas d'erreurs reste vide.
Je précise que la page d'erreur s'affiche correctement.
J'ai essayé plusieurs types de chmod, sans résultat.
Si vous avez une idée ....
