Apache mod_rewrite to return a 404 except one directory

apache-2.2http-status-code-404rewriterewritecond

I'm trying to configure Apache to return a default 404 page when the / of DocumentRoot is called, except for some directories in that DocumentRoot

Unfortunately, I'm getting a 404 even for the directories that have been specified in the RewriteCond directive.

Here is my setup :

RewriteEngine On
RewriteCond ${REQUEST_URI} !/dir1/
RewriteCond ${REQUEST_URI} !/dir2/
RewriteRule (.*) - [R=404,L]

Thanks for your help !

Best Answer

Convert comment to CW

I got it working with

RewriteEngine On
RewriteCond %{REQUEST_URI} !^(.*)/dir1(.*)$
RewriteCond %{REQUEST_URI} !^(.*)/dir2(.*)$
RewriteRule (.*) - [R=404,L]
Related Topic