Erreur 404 perso : comment éviter qu'elle soit indexée ?

Nouveau WRInaute
Bonjour

J'ai créé une page 404 personnalisée vers laquelle les urls pourries sont bien renvoyées.
Par acquis de conscience, j'ai voulu contrôler la réponse du Serveur : 200.

Dans le code que j'ai ajouté dans error.php, il y a :
$this->error->getCode()) == '404'
ce qui indique que l'erreur 404 a bien été générée.

Est-ce suffisant pour les moteurs de recherche pour qu'ils comprennent que cette url n'existe pas ?

Merci
Dionee
 
Nouveau WRInaute
Bonjour
C'est bien ce qui me semblait...

J'ai parcouru plusieurs posts de différents forums, qui donnent à peu de choses près le même code.
Voici ce que j'ai implanté :
PHP:
defined('_JEXEC') or die;

/** @var JDocumentError $this */

if (!isset($this->error))
{
    $this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
    $this->debug = false;
}

$app = JFactory::getApplication();
if (($this->error->getCode()) == '404') {
header('Location: ' . JRoute::_("/index.php?option=com_content&view=article&id=144", false));
exit;
}
?>

L'ID 144 correspond à mon article personnalisé pour l'affichage de la 404
 
WRInaute occasionnel
Ca me semble pas mal !

Vérifie surtout que tes pages d'erreurs renvoient un code d'entete 404 (cf message de @spout). Tu peux utilises l'outils de WRI pour ça.
 
Nouveau WRInaute
Bonjour
Apres des tests, voici le code que j'uitilise :
Code:
defined('_JEXEC') or die;

/** @var JDocumentError $this */

if (!isset($this->error))
{
    $this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
    $this->debug = false;
}

$app = JFactory::getApplication();
if (($this->error->getCode()) == '404') {
      header("HTTP/1.0 404 Not Found");
        echo file_get_contents(JURI::root().'index.php?option=com_content&view=article&id=144');
        
#        header('Location: ' . JRoute::_("/index.php?option=com_content&view=article&id=144", false));
exit;
}
?>

Mon site vit et certaines url ne sont plus d'actualités.
Problème, elles sont créées par un module de gestion d'images et de galleries qui redirige ces urls vers une sorte de page Root... en renvoyant le code 200.
Je cherche donc à rediriger des urls spécifiques vers ma du 404.

J'ai tenté ceci, mais sans succès :
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/url-obsolete/ - [R=404,L]

ou

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/url-obsolete/ - "Monsite/404/" [R=404,L]
 
Olivier Duffez (admin)
Membre du personnel
404 est de la famille des 4xx càd des erreurs côté client, donc pas des redirections.
R=404 n'existe pas, il faut écrire G (pour Gone, code 410)
 
Discussions similaires
Haut