12

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

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

Solutions without mod_rewrite or any other modules preferred.

AndiDog
  • 331

2 Answers2

19

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

hobodave
  • 2,860
1

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.

random
  • 450