Probleme code 200 permanent

Nouveau WRInaute
Bonjour a tous,

J'ai parcouru le forum en long, en large et en travers, pas moyen de trouver une reponse
Je m'arrache les cheveux depuis 2 heures sur le htaccess suivant :
RewriteBase /

ErrorDocument 404 /404.php [L]
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php

Si je fais ceci, j'ai des codes 200 permanents
RewriteBase /


RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php

Le rejout de la ligne des 404 personnalisés ne fonctionne pas.
Est-ce que quelqu'un aurait une idée, je sèche lamentablement......

Merci d'avance,
jeFFF
 
Nouveau WRInaute
J'ai egalement essaye ceci :

RewriteBase /

#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(.*) index.php [L]
#RewriteRule .* index.php [L]

ErrorDocument 404 404.html
RewriteRule 404.html /$1 [R=301]

RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php

Toujours sans succès....
 
WRInaute passionné
et avec :
Code:
ErrorDocument 404 /404.php

RewriteBase /

RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php
 
Nouveau WRInaute
hello,

Ca marche toujours pas, j'ai ceci comme indique, mais la derniere ligne prend le dessus sur le error document.

RewriteEngine On
ErrorDocument 404 /404.html

RewriteBase /

RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php

[EDIT] si je commente la derniere ligne, il me prend bien ma page 404.......
j'y comprend plus rien .....
 
WRInaute passionné
c'est normal. cette règle réécrit si c'est pas un fichier ou un répertoire existant et si l'url se termine par .html ou .php ou .htm ou / suivi d'une chaine sans .
 
Nouveau WRInaute
Ok, mais qu'est ce que je peux faire pour faire fonctionner mon 404 ?

De plus lorsque je place des rglews d'ecriture 301 j'ai egalement des erreurs pas possibles.
 
WRInaute passionné
tu peut aussi le gérer avec index.php quand ton url match la règle de réécriture et que tu n'as rien a afficher (pas d'entrée dans une table par exemple) :
Code:
		header("Status: 404 Not Found", false, 404);
		include('404.html');
 
Nouveau WRInaute
Ok, je vais tenter ca.
Mais question qui va peut etre paraitre bete, comment mon index sait qu'il intercepte un 404 ??
 
WRInaute passionné
par exemple pour mon www j'ai une règle similaire et si l'url ne correspond pas à une catégorie (pas d'entrée dans la table) j'affiche la page d'erreur 404. après a toi de voir suivant ce que fait ton index.php pour faire pareil.
 
Nouveau WRInaute
Merci a tous les 2 pour vos réponses.
En fait, j'ai contourné le problème.

J'ai créée des htaccess spécifiques dans les sous dossiers que je voulais supprimer avec les redirections 301 qui vont bien, en parallèle j'appelle un 404 si besoin (a l'intérieur des sous dossier), avec ceci, j'ai le fonctionnement souhaité.
 
Discussions similaires
Haut