mod_status 是一个 apache 模块,它允许您查看 apache 的状态。打开后,可以在 server.com/server-status 上访问它,但是由于 .htaccess 文件中的 mod_rewrite,我无法访问它。下面是 .htaccess 文件。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} othersite.com$ [NC]
RewriteRule ^(.*)$ http://server.com/$1 [R=301]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
当我禁用上述功能时,http://server.com/server-status有效。这可能是 mod_rewrite 的一个常见问题,但我不知道如何修复它。
答案1
这是处理所有非文件 URL 的 CMS 软件的常见问题。您可以修改重写块以包含以下明确条件/server-status
:
RewriteCond %{REQUEST_URI} !=/server-status
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
答案2
您需要使用以下文档(Apache 虚拟主机文档 - Apache HTTP 服务器) 并重新配置它,以便您将 VirtualHost 用于您的域,而不管欢迎页面,这样您就可以将其用于服务器状态。无论如何,这都是正确的做法……