I need to redirect all requests on an Apache 2.2 server for any directory that gives a 403 to a 404 not found.
Ex:
/xyz
or /xyz/
throws a 403 -> redirect to 404/xyz/sometext.txt
returns normally. Looking around, I came across this post:
Problem redirecting 403 Forbidden to 404 Not Found
RedirectMatch 404 ^/include(/?|/.*)$
/include 404 (instead of 403)
/include/ 404
/include/config.inc 404 (instead of 403)
However, the last case for that also returns a 404. Also, it only affects /include/ directory, I was looking more for any forbidden directory. So far I have:
RedirectMatch 404 ^[\/[\w+]]+\/$
Anyone have an idea of how to accomplish this? Thanks,
To return 404 not found
for any request that is causing 403 today you can do:
ErrorDocument 403 /404.php
And then in /404.php
you can add this line to return 404 status to clients:
<?php
# your custom 404 content goes here
# now make it return 404 status to browser
http_response_code(404);
?>
To return 404 for all the requests to directories you can do:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ - [L,R=404]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With