2011-10-11 4 views
24

Existe-t-il un moyen d'entrer une RewriteRule dans le fichier htaccess pour rediriger vers une page 404 si un certain chemin de dossier/URL a été tapé ou atteint? Par exemple, si je veux que tous les utilisateurs soient redirigés vers une page 404 s'ils obtiennent: www.mydomain.com/abc ou www.mydomain.com/abc/ ou tout ce qui vient après "abc", même si ce dossier existe vraiment, je ne veux pas que les utilisateurs puissent l'atteindre. S'ils l'atteignent, je veux qu'ils voient la page d'erreur 404. * S'il vous plaît noter que je ne cherche pas à mettre en place une page d'erreur personnalisée 404, je suis à la recherche d'un moyen de rediriger vers la page 404 par défaut..htaccess rediriger vers la page 404 RewriteRule

Comment puis-je le faire? C'est possible?

RewriteRule ^abc/(*)?$ [R=404,L] 

Et comment puis-je faire la même chose en php, rediriger vers une page d'erreur 404? Encore une fois, je ne parle pas de mettre une page personnalisée 404, je parle de la page par défaut 404, pour simplement rediriger un utilisateur vers la page d'erreur 404 en utilisant php.

+0

Vous ne pouvez pas supprimer ou renommer le dossier? –

+1

Oui, je peux, mais je ne veux pas. C'est pour un problème de sécurité. – user977191

+0

Vous avez une page personnalisée introuvable? –

Répondre

28

Au lieu d'utiliser mod_rewrite, vous pouvez le faire avec une directive RedirectMatch:

RedirectMatch 404 ^/abc/.*$ 
+0

RedirectMatch 404 "/ abc *" a fait le travail. Merci pour votre suggestion. – user977191

4

Je l'ai fait sur mon site:

RewriteRule ^404/?$ 404.php 
ErrorDocument 404 http://www.example.com/404/ 

Et à la racine de mon site j'ai placé un 404.php page pour personnaliser cette page.

Questions connexes