Besoin d'aide: ma 404 renvoie un code 200

WRInaute occasionnel
Bonjour,

Sur un blog dotclear, j'ai un htaccess pour enlever le "index.php" des urls.
Le code est:

RewriteCond %{REQUEST_URI} !blog
RewriteCond %{REQUEST_URI} !not_found.html
RewriteCond %{REQUEST_URI} !index
RewriteRule (.*)$ /index.php/$1
ErrorDocument 404 /not_found.html

Du coup ma 404 renvoie un code 200 car n'importe quelle url arrive sur la page d'accueil.

Comment faire pour avoir une 404 qui renvoie un code 404 ?

Merci beaucoup.
 
WRInaute passionné
Que te page personnalisé 404 renvoie un code 200, c'est normal...

Par contre il faut que tu teste avec une page inexistante pour voir le code renvoyé.
 
WRInaute occasionnel
je me suis mal exprimée: les pages inexistantes (site.tld/gdbvdhjdjd) renvoient sur site.tld/index.php/gdbvdhjdjd et donc sur la page d'accueil, donc code 200, et non 404.

D'ou probleme pour verifier le site dans ggsitemap et gros risque de duplicate.

Mon hebergeur me dit de generer directement la page d'erreur dans index.php (le index.php type de dotclear) mais je ne sais pas comment faire.

je joins le code du fichier index.php, si ça inspire quelqu'un:

Code:
<?php
# ***** BEGIN LICENSE BLOCK *****
# This file is part of DotClear.
# Copyright (c) 2004 Olivier Meunier and contributors. All rights
# reserved.
#
# DotClear is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# DotClear is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with DotClear; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# ***** END LICENSE BLOCK *****

# Chemin vers la racine de l'application (si vous changer le fichier de place)
$app_path = '/blog/';

# Si par exemple vous mettez blog.php ? la racine de votre site et que DotClear
# se trouve dans /dotclear vous pouvez d?commenter cette ligne :
//$app_path = '/dotclear/';

# NE RIEN CHANGER APRES CETTE LIGNE

$blog_file_path = __FILE__;
$blog_dc_path = dirname(__FILE__).$app_path;

require $blog_dc_path.'/layout/prepend.php';

# En-t?tes et prologue
# Envoie des en-t?te HTTP
$accept_xml =
	!empty($_SERVER['HTTP_ACCEPT']) &&
	strpos($_SERVER['HTTP_ACCEPT'],'application/xhtml+xml') !== false;

if (dc_send_real_xml && $accept_xml) {
	header('Content-Type: application/xhtml+xml');
} else {
	header('Content-Type: text/html; charset='.dc_encoding);
}

if ($accept_xml) {
	echo '<?xml version="1.0" encoding="'.dc_encoding.'"?>'."\n";
}

# Affichage de la page
//if (function_exists('ob_start')) {
//	ob_start();
//}

//if (defined('DC_CACHE_CONTENT')) {
//	echo DC_CACHE_CONTENT;
//} else {
	include $dc_template_file;
//}

require $blog_dc_path.'/layout/append.php';

//if (function_exists('ob_start')) {
//	$p_content = ob_get_contents();
//	ob_end_clean();
//
//	echo $p_content;
//
//	if (defined('DC_CACHE_FILE')) {
//		cache::writeFile(DC_CACHE_FILE,$p_content);
//	}
//}
?>
 
Discussions similaires
Haut