Apache服务器状态返回404,然后redirect到我的WordPress的安装

我试图让Munin的各种Apachie插件在我的Web服务器上工作,但是我遇到了问题。 在询问Munin检查可用的插件时,三个Apache插件中的两个返回了一个错误

apache服务器状态找不到

我有mod_status打开等,据我所知,一切都设置正确。

我已经尝试使用Lynx打开localhost/server-status ,在这一点上,我得到了一个404错误,并显示了我的Wordpress错误页面(当您尝试访问一个不存在的页面时得到的那个)。

现在大概是这样的,我如何让Apache服务于Wordpress安装等等。这个网站住在/var/www/wordpressindex.php文件上一层,按照WordPress的说明修改.htaccess文件。 它工作正常,但我有一个很小的感觉,当Munin / Lynx尝试加载本地主机/服务器状态时,它正在/var/www/查找它。

那么,在请求服务器状态时,我该如何告诉Apache实际看起来在哪里?


这是我的httpd.conf文件。

 ServerName localhost <VirtualHost *:80> ServerName oliverhaslam.com ServerAlias oliverhaslam.com DocumentRoot /var/www/wordpress/ </VirtualHost> <VirtualHost *:80> ServerName ojhaslam.co.uk ServerAlias ojhaslam.co.uk DocumentRoot /var/sites/photo365/ </VirtualHost> <VirtualHost *:80> ServerName www.ojhaslam.co.uk ServerAlias www.ojhaslam.co.uk RedirectMatch permanent /(.*) http://ojhaslam.co.uk/$1 DocumentRoot /var/sites/photo365/ </VirtualHost> <Location /server-status> SetHandler server-status Order deny,allow Allow from all </Location> 

如果我删除最后一部分,我会得到一个“禁止”的错误,而不是上面列出的错误。


出现问题是我的.htaccess文件。 删除这意味着服务器状态的作品,但显然WordPress的链接不。 这是文件:

 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / #Next two don't fix the issue. #RewriteCond %{REQUEST_URI} !=/server-status #RewriteRule ^(server-info|server-status) - [L] RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress 

WordPress的.htaccess文件发送所有不存在的文件和目录由Wordpress处理。 尝试排除服务器状态url也是如此。

 RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/server-status RewriteRule . /index.php [L] 

由于我得到了这个职位的帮助,如果你也没有申请成为我最初的答案,就像我最初一样,你应该准确地把条件

 RewriteCond %{REQUEST_URI} !=/server-status 

在重写规则之前。

 RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !=/server-status RewriteRule . /index.php [L] 

这就是为什么奥利弗·哈斯兰仍然有同样的麻烦,因为他把这个

 RewriteCond %{REQUEST_URI} !=/server-status 

高于其他条件。

希望这可以帮助另一个人来到这里:)