Is it possible to let Apache automatically return a 404 page for a single URL using the Location tag?

<Location "/some/url">
    # ???

Solutions without mod_rewrite or any other modules preferred.

2 Answers 2


The only solution "without any modules", is to not have the resource exist. If the location doesn't exist, then it Apache will return a 404.

Otherwise, you will need to use mod_alias or mod_rewrite. mod_alias is the simpler and more efficient solution:

Redirect 404 /your/url/path

You use this inside your vhost, there is no need to put it in a Location block.

You can also use the RedirectMatch directive if you don't want to match URLs below /your/url/path:

RedirectMatch 404 ^/your/url/path$

This and more can be read in the mod_alias documentation

  • Nice idea, but unfortunately this will also return 404 for anything matching '/your/url/path/*', which is a problem for me.
    – AndiDog
    Mar 1, 2011 at 19:17
  • 1
    @Andi: You should be more specific in your questions.
    – hobodave
    Mar 1, 2011 at 19:19
  • Sorry for that ;) The RedirectMatch solution works like a charm.
    – AndiDog
    Mar 1, 2011 at 19:29

Apparently you can use a RewriteRule for this (make sure your RewriteEngine is enabled):

RewriteRule ^/forbidden_ /nonexistent [L]

Got this information from "return 404 for specific url?" in the Apache mailing list archives.

  • Well, I'd like to have a generic non-rewrite solution. I know the mod_rewrite solution already.
    – AndiDog
    Mar 1, 2011 at 18:47
  • People are so used to use mod_rewrite for what it was never intended for… your solution will not work if website uses FallbackResource directive. Redirect 404 /path, however, will.
    – AnrDaemon
    Mar 23, 2020 at 21:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.