Apache mod_rewrite 顺序未按预期工作

Apache mod_rewrite 顺序未按预期工作

我想对 /autodiscover/ 响应 404https://mycompany.com因为这是 Outlook(和其他使用 Exchange 自动发现的客户端)在启动时检查的 URL。

此 vHost 还会将其他所有内容重定向到https://mycompany.comhttps://www.mycompany.com

我已经测试了我的重写规则https://htaccess.madewithlove.be/其中说我的规则实际上应该直接对我定义的任何给定的 /autodiscover/ 变体产生 404,但我可以在日志中清楚地看到最终匹配的是从非 www 到 www 的 301 重定向。

    RewriteEngine on
    RewriteRule ^autodiscover/(.*)$ - [L,R=404]
    RewriteRule ^AutoDiscover/(.*)$ - [L,R=404]
    RewriteRule ^autoDiscover/(.*)$ - [L,R=404]
    RewriteCond %{HTTP_HOST} ^mycompany.com [NC]
    RewriteRule ^(.*)$ https://www.mycompany.com/$1 [L,R=301]

我看过https://httpd.apache.org/docs/2.4/rewrite/flags.html和 L,据我理解,当使用该标志匹配规则时,不应检查其他规则。

我正在寻找一些指针来解释为什么在尝试了几种重写规则之后它没有像我预期的那样工作......

相关内容