Pb de syntaxe de .htaccess

Nouveau WRInaute
Alors voila, :oops:

je me sens très bête mais je ne sais pas comment faire pour que mon .htaccess gère à la fois la réécriture d'URL et les erreurs (ici type 404). Pour la réécriture, aucun pb, tout se passe bien. Mais je ne sais pas comment ajouté la gestion de l'erreur.
J'ai essayé de mettre la ligne de code avant tout dans le fichier mais ca ne fonctionne pas.
Une âme charitable pourrait-elle m'éclairer à ce sujet ???

Elodie
 
Olivier Duffez (admin)
Membre du personnel
en général il est conseillé de la mettre en fin de fichier .htaccess
par contre ce n'est pas incompatible avec la réécriture d'URL.
donne-nous + de détails...
 
Nouveau WRInaute
Ok,
Alors voila, j'ai d'abord pensé à la réécriture et tout fonctionne sans pb. Puis j'ai ensuite voullu ajouter la gestion de l'erreur 404 mais sans résultats. Je dois m'y prendre mal.
Suivant ton conseil j'ai testé en le mettant à la fin, mais ca ne fait rien de plus.
Voila en gros mon code :
Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^actualite/sommaire.html$ actualite.php3?id_rubrique=45 [QSA,L]
/*...*/

ErrorDocument 404 /404.html

J'ai plus d'une règle de réécriture mais ca aurait plus encombré la page qu'autre chose.

Voila ou j'en suis.
Elo
 
WRInaute occasionnel
dody a dit:
Personne n'a d'idée :?:
Mes .htaccess contiennent de RewriteRule et ErrorDocument et fonctionnent sans problèmes. Peux tu nous dire ce que ne fonctionne pas comme tu le souhaites ? Une URL d'exemple, à nous proposer...

La page inexistante que tu souhaites en 404 ne match elle pas une règle de réécriture ? Dans ce cas il est normal que la dernière règle ErrorDocument ne soit pas appliquée.

Mirgolth
 
Nouveau WRInaute
Alors voila,

Tu peux trouver le contenu de mon fichier .htaccess un peu plus haut. En ce qui concrne le test que j'ai effectué et qui ne fonctionne pas, j'ai simplement mis en place une fichier 404.html contenant ceci :
Code:
<html>
	<br><br><br><br>
	<center>La page demandée n'existe pas !</center>
</html>

et je teste l'URL -www.monsite.fr/toto.html et ca ne m'affiche pas le traitement que je souhaite.
Alors soit je n'ai pas compris le principe soit j'ai fait une erreur, mais dans les deux cas je ne comprends pas ce qui cloche...

Elodie
 
WRInaute occasionnel
dody a dit:
je teste l'URL -www.monsite.fr/toto.html et ca ne m'affiche pas le traitement que je souhaite.
Code HTTP 500 : Erreur Server, généralement dû à une erreur de syntax du .htaccess.

Ma technique pour trouver la ligne en faute est de proceder par dichotomie en retirant en commentant certaines règle de réécriture jusqu'à trouver celle qui pose problème.

Mirgolth
 
Nouveau WRInaute
Je me suis peut être mal exprimée, mais ce n'est pas une erreur 500 que j'obtient mais la page de base de l'erreur 404 de mon IE.
Donc normalement pas d'erreur de syntaxe...

Elodie
 
WRInaute occasionnel
dody a dit:
Je me suis peut être mal exprimée, mais ce n'est pas une erreur 500 que j'obtient mais la page de base de l'erreur 404 de mon IE.
J'avais pas vue que l'URL que tu donne, pointait vers monsite.fr :oops:, je l'ai suivie comme un bleu !

Quelque pistes :
- Est ce que ton serveur autorise les directives ErrorDocuments ?
- Est que ton fichier 404.html est accessible si tu tape son URL directement ?

Mirgolth
 
Nouveau WRInaute
Je viens de vérifier, mon fichier est accessible directement via son URL. Sinon, pour la config du serveur, je ne sais pas comment vérifier. J'ai cherché un peu mais aucun de mes tests n'a été concluant.
Je suis en local et j'utilise EasyPHP dans sa config de base + autorisation du rewrite.mod
 
WRInaute passionné
Quelque chose qui marche bien c'est ceci
Code:
ErrorDocument 404 /plan.html
Au moins le visiteurs sait ou chercher sa page ensuite
 
Nouveau WRInaute
Bonjour,

Je n'ai toujours pas trouvé comment faire fonctionner ma personnalisation d'erreur 404.
Y a-t-il une modif serveur à faire ??
Et si oui, laquelle ??

Merci d'avance
Elodie
 
Olivier Duffez (admin)
Membre du personnel
oui, mettre dans ton .htaccess de ta racine la ligne donnée par Kmacleod ci-dessus et créer une page plan.html comme tu veux
(ça peut etre n'importe quel nom)
 
Nouveau WRInaute
Si tu regarde le code que j'ai donné plus haut tu verras que c'est ce que j'ai fait, mais ça ne fonctionne pas. Alors je me demande pourquoi.

Elodie
 
Olivier Duffez (admin)
Membre du personnel
excuse-moi je n'avais plus toute la discussion en tête.
as-tu également une version de ton site en ligne, chez un hébergeur ?
as-tu essayé avec un fichier .htaccess ne contenant que la ligne ErrorDocument ?
 
WRInaute impliqué
WebRankInfo a dit:
as-tu également une version de ton site en ligne, chez un hébergeur ?

Oui, essaie sur ton site en ligne.
Moi je n'avais jamais pensé à vérifier si la redirection d'erreur 404 marchait en local. Je viens d'essayer avec mon easyphp et effectivement, cela ne semble pas marcher.
 
Nouveau WRInaute
Désolée de ne pas avoir répondu plutot, j'ai du prendre des vacances forcées...

Alors, revenons à mon pb.
Je n'ai pas pour le moment de version en ligne.
Je viens de faire le test de ne mettre que mon ErrorDocument 404 ./404.html dans mon .htaccess et ça n'a pas donné de résultat.
J'ai du loupé un wagon, mais lequel ???

Merci de ton aide
Elodie
 
Olivier Duffez (admin)
Membre du personnel
c'est
Code:
ErrorDocument 404 /404.html
et non pas
Code:
ErrorDocument 404 ./404.html
(enfin je pense)
 
Nouveau WRInaute
Ok, alors j'ai décoché la fameuse option de mon navigateur et j'ai supprimé le point dans ma ligne de code mais ni l'un ni l'autre n'a d'effet.
Je crois que je ne vais pas continuer à me prendre la tête avec ca, j'attendrais que le site soit en ligne pour refaire des tests.

Encore merci à tous ceux qui ont cherché avec moi.
Bonne fin de journée,
Elodie
 
Discussions similaires
Haut