我取消了默认部分的注释:
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
然后重新启动apache('语法OK')
当我运行时,links http://127.0.0.1/server-status
我看到 404 错误页面。
# apachectl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
_default_:443 site.com (/etc/httpd/conf.d/ssl.conf:74)
*:80 is a NameVirtualHost
default server site.com (/etc/httpd/sites-enabled/www.site.com.conf:1)
port 80 namevhost site.com (/etc/httpd/sites-enabled/www.site.com.conf:1)
alias www.site.com
Syntax OK
我也尝试将'Location'
块插入<VirtualHost>
并使用域名而不是127.0.0.1
但没有运气。
我通过故意输入不正确的指令来检查我是否在正确的配置文件中,这是正确的文件。
我究竟做错了什么?
我遇到了同样的问题,看起来原因相似:我的应用程序有一个 .htaccess 文件,其中包含以下内容:
这优先于位置部分。它正在重写所有不指向实际文件的 URL,这包括服务器状态。通过在 RewriteRule 之前添加另一个 RewriteCond,我能够修复它:
另一种方法是添加一个别名,将您的服务器状态 URL 映射到不同的目录,该目录不使用 .htaccess 文件。看起来这甚至可以是一个不存在的目录:
从 httpd 2.2 更新到 2.4 时,我还必须授予对这个虚拟目录的访问权限: