Apache 服务器状态返回 404,然后重定向到我的 Wordpress 安装

Oli*_*lam 5 web-server .htaccess apache-2.2

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

找不到 apache 服务器状态

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

我尝试打开localhost/server-statususing Lynx,此时我收到 404 错误并显示我的 Wordpress 错误页面(当您尝试访问不存在的页面时获得的页面。)

现在大概这与我如何让 Apache 服务于 Wordpress 安装等有关。该网站位于.htaccess 文件中,根据 Wordpress 说明/var/www/wordpressindex.php文件进行了上一级修改。它工作正常,但我有一种琐碎的感觉,当 Munin/Lynx 尝试加载 localhost/server-status 时,它正在/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>
Run Code Online (Sandbox Code Playgroud)

如果我删除最后一部分,我会收到“禁止”错误,而不是上面概述的错误。


出现问题是我的.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
Run Code Online (Sandbox Code Playgroud)

bec*_*est 11

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]
Run Code Online (Sandbox Code Playgroud)