Aller au contenu

Sujets conseillés

Posté (modifié)

hello,

la structure de mon site est la suivante

rep1

- sousrep1

- sousrep2

- sousrep3

dans rep1, j'ai mis un htaccess

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^annuaire(.*)\.html$ annuaire.php?deb=$1
RewriteRule ^categ-(.*)-(.*)\.html$ search.php?categorie=$1&deb=$2
RewriteRule ^recherche-(.*)-(.*)\.html$ search.php?type=$1&deb=$2 [L]
ErrorDocument 404 http://www.monsite.com/rep1/erreur404.php

1ere question

dans la page erreur404.php comment je fais pour récupérer l'url qui a provoqué l'erreur 404? J'ai essayé avec $_SERVER['HTTP_REFERRER'] et $_SERVER[REQUEST_URI] mais ça m'affiche rep1/erreur404.php

Sur un autre forum j'ai vu qu'il fallait mettre le chemin relatif du fichier erreur404.phph dans le htaccess comme suite

ErrorDocument 404 http://www.monsite.com/rep1/erreur404.php

Or en essayant ça, je n'intercepte plus les erreurs 404, la page erreur404.php n'est plus appelée.

2e question

je voudrais que www.monsite.com/rep1/toto/index.php?deb=10 devienne www.monsite.com/rep1/toto/page-10.html

ou encore www.monsite.com/rep1/zaza/index.php?deb=10 devienne www.monsite.com/rep1/zaza/page-10.html

etc....

Quel est la règle pour celà, sachant que je compte la mettre dans le htaccess de la racine du site.

EDIT DU 10/10, j'ai trouvé la soluce pour les 2

question 1 ->mettre un htaccess dans sousrep1 au lieu de rep1

question 2-> inclure le nom du dossier maitre dans le lien pour le 404

voila voila, bon surf ;)

Modifié par djspoon
Posté

Bonjour,

En mettant une URL complète dans le "ErrorDocument 404" tu n'auras pas l'entête 404 qui sera retournée, mais bien une entête 200.

Tu peux vérifier cela avec l'outil du Hub.

Il FAUT mettre "ErrorDocument 404 /error404.php". Tu auras dans ce cas la bonne entête, et l'utilisation de $_SERVER[REQUEST_URI] donnera la page qui manquait et non error404.php ;)

Dan

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...