Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top
<Location /status>
    SetHandler server-status
    order deny,allow
    allow from all

But when I visit http://ip:port/status,

a 404 Not Found is reported, why?

share|improve this question
Just for the heck of it, create an index.html file in that directory and see what happens. – John Gardeniers Jul 19 '11 at 5:02
@John Gardeniers,MUST that directory exist in the first place? I followed your advice but don't get anything different... – linux Jul 19 '11 at 5:06
Obviously the directory must exist or you must always get a 404 for it because the server can't serve what isn't there. The reason I suggested creating the index file is because, depending on how your setup is configured, the lack of an index file may result in a 404 unless you specifically specify another file that does exist in your URL. – John Gardeniers Jul 19 '11 at 5:11
@John: For a server-status? I've never had to have a physical file on disk for server-status to work. – womble Jul 19 '11 at 5:34
@John Gardeniers,why is the file still required when it's handled by SetHandler server-status? – linux Jul 19 '11 at 5:35

This can also happen when you have a .htaccess file in the document root and that file contains a RewriteRule, as is common with CMS pretty URLs. The <Location> directives act first, but the handler is not called at this stage. So then the RewriteRule sets a handler, eg a PHP script, so SetHandler effectively does nothing.

If this is the case, find the RewriteRule that is causing the problem, and add before it:

RewriteCond %{REQUEST_URI} !=/server-status

(Apache 2.2.22)

Addendum: also note that you can get a 403 if the DocumentRoot is not readable by the apache process at all, again because the server-status handler doesn't have a chance to work.

Addendum 2: if the .htaccess for the Apache default site is frequently overwritten, and the /server-status URL is necessary for eg Munin to work, then creating a <VirtualHost> stanza including the server-status handler may be administratively simplest.

share|improve this answer

Because you've misconfigured something. What do your logs say about the cause of the 404? My first guess would be that ip:port isn't a valid vhost (or at least not valid for the vhost you've put the <Location /status> in, anyway), and it's probably dropping back to the default vhost. The error logs will make mention of irrational paths you didn't configure if that's the case. Other error log messages will mean different things, which is why it's so important to check them.

share|improve this answer
The log also says File does not exist – linux Jul 19 '11 at 4:37
Of course it does, that's why you got a 404. But what else does it say? – womble Jul 19 '11 at 4:38
It doesn't say anything else. – linux Jul 19 '11 at 4:53
At the very least, it will tell you which file does not exist. – womble Jul 19 '11 at 5:33

My guess would be that you didn't load the status module - Can you confirm it ?

share|improve this answer
This is the correct answer. Worked perfectly. Thanks. – Gabriel Rodriguez May 13 at 21:25
  • you do not need to configure a directory or path or index file
  • are you trying a different port? you shouldn't be port 80

the docs are:

<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all

your location differs, I would not think it should matter, but try your location as /server-status instead of just /status.

However - I think Spud is right. you have not loaded that module.


share|improve this answer

If you are using mod_rewrite and vhost configuration you need to add a blank vhost entry at the top of the vhost configuration file e.g.

<VirtualHost *:80>

Then you can access it via the server IP address e.g. ip_address/server-status

share|improve this answer
Won't you also need a SetHandler server-status in that vhost? – Ladadadada Oct 9 '13 at 12:07

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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