Назад | Перейти на главную страницу

Порядок Apache mod_rewrite не работает должным образом

Я хочу ответить 404 для / autodiscover / on https://mycompany.com поскольку это URL-адрес, который Outlook (и другие клиенты, использующие автообнаружение Exchange) проверяет при запуске.

Этот vHost также перенаправляет все остальное с https://mycompany.com к https://www.mycompany.com.

Я проверил свои правила перезаписи с https://htaccess.madewithlove.be/ где говорится, что мои правила должны фактически выдавать 404 непосредственно для любого заданного / autodiscover / варианта, который я определил, но я ясно вижу в журналах, что в конечном итоге соответствует перенаправление 301 с не-www на www.

    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, и, насколько я понял из документации, никакие другие правила не должны проверяться при сопоставлении правила с использованием этого флага.

Я ищу какой-то указатель на то, почему это не работает, как я ожидал, после того, как опробовал несколько вариантов правил перезаписи ...