Apache 重写 - 重新路由除此 url 之外的每个请求

标签 apache

我正在尝试在我的服务器上设置 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/

相关文章:

apache - 504 Gateway Time-out 服务器未及时响应。如何修复它?

javascript - 定期加载远程 JSON(错误 : Origin is not allowed by Access-Control-Allow-Origin)

apache - 与 Apache 服务器的空闲套接字连接超时时间

apache - 我的应用程序中来自其他网站的奇怪请求/DefaultSavedRequest?

java - Apache CXF 是否支持 TLS 1.2?

php - 带有 AddHandler php5-script .php 行的 .htaccess 有什么作用?

java - 如何从 Android 进行安全的 HTTPS 调用

mysql - Apache、MySQL 和 FTP 'Detected With Wrong Path' 在 Win7 上使用 XAMPP

php - htaccess 使用多个正斜杠重写 URL

django - 如何重新启动在后台运行的 django 服务器?