2

我正在尝试在我的服务器上设置 mod_status,但它出现了一个空白页面:

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

我认为问题在于它下面的重写规则:

    <Location />
        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ /index\.php [L]
        </ifmodule>
    </Location>

所以,我想要做的是添加一个规则,它将重定向除服务器状态页面之外的所有请求。我修改了第二个位置指令,但它不起作用。完整的实现是这样的:

    <Location /server-status>
        SetHandler server-status
        Order deny,allow
        Deny from all
        Allow from all
    </Location>
    <Location />
        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !^/server-status/$
            RewriteRule ^(.*)$ /index\.php [L]
        </ifmodule>
    </Location>

有人可以告诉我这条线是否有问题,或者我还缺少其他东西吗?

RewriteCond %{REQUEST_FILENAME} !^/server-status/$

谢谢你的帮助,

4

1 回答 1

2

没关系,我想通了。

我改变了这个:

RewriteCond %{REQUEST_FILENAME} !^/server-status/$

对此:

RewriteCond %{REQUEST_URI} !^/server-status
于 2013-04-29T17:11:47.230 回答