33

Is there a way to enter a RewriteRule in the htaccess file to redirect to a 404 page if a certain folder/url path as been typed or reached?

For example, if I want every user to be redirected to a 404 page if they get to: www.mydomain.com/abc or www.mydomain.com/abc/ or whatever that comes after "abc", even if that folder really exists, I do not want the users to be able to reach it. If they do reach it, I want them to see the 404 error page. * Please note I am not looking to set up a custom 404 error page, I am looking for a way to redirect to the default 404 page.

How can I do it? Is it possible?

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

And how can I do the same thing in php, redirect to a 404 error page? Once again I am not talking about setting a custom 404 page, I am talking about the default 404 page, to simply redirect a user to the 404 error page using php.

hakre
  • 193,403
  • 52
  • 435
  • 836
user977191
  • 821
  • 2
  • 9
  • 11

2 Answers2

42

Instead of using mod_rewrite, you can do this with a RedirectMatch directive:

RedirectMatch 404 ^/abc/.*$
  • RedirectMatch 404 "/abc*" did the job. Thanks for your suggestion. – user977191 Oct 12 '11 at 00:35
  • @Michal Wojciechowski Hi! I used your solution to prevent access to maindomain.com/addon.com. Do you know if it's possible to use it also for preventing access to addon.maindomain.com ? Pls See my question https://stackoverflow.com/questions/51268061/htaccess-redirect-to-404-addons-and-subdomains-stopped-working . Thanks – codeispoetry Jul 10 '18 at 14:45
9

I did this on my website:

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

And on the root of my website I placed a 404.php page to customize that page.

paulalexandru
  • 9,218
  • 7
  • 66
  • 94