我正在尝试在我的服务器上设置 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/$
感谢您的帮助,
最佳答案
没关系,我已经明白了。
我改变了这个:
RewriteCond %{REQUEST_FILENAME} !^/server-status/$
对此:
RewriteCond %{REQUEST_URI} !^/server-status
关于Apache 重写 - 重新路由除此 url 之外的每个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16284343/