Eu quero usar o mod_rewrite para retornar 403 Forbidden quando o REQUEST_METHOD é GET e quando um cabeçalho personalizado específico está faltando. Mas eu quero permitir através de pedidos com o verbo OPTIONS, mesmo que esse cabeçalho personalizado está faltando.
Isso é o que estou usando atualmente:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} =GET
RewriteCond %{HTTP:SomeHeader} ^$
RewriteRule .* - [F]
O comportamento GET parece estar funcionando bem (se o cabeçalho fornecido eu receber de volta 200, sem ele eu obtive 403). Mas também estou vendo o mesmo comportamento para OPTIONS (403, a menos que eu forneça header, depois 200).
Parece que quando o verbo HTTP é OPTIONS, o primeiro RewriteCond deve estar falhando, mas de alguma forma parece que está "passando" e continuando com a outra condição + regra.
Alguma ideia do que está acontecendo aqui?
Tags mod-rewrite