Retornando “200 OK” no Apache em pedidos HTTP OPTIONS

3 respostas

11

Você está adicionando um cabeçalho a uma resposta que não seja de sucesso (não-2xx), como um redirecionamento. Nesse caso, apenas a tabela correspondente a always é usada na resposta final.

Corrigir "Conjunto de cabeçalhos":

Header always set Access-Control-Allow-Origin "*"                   
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS"
    
por 06.02.2011 / 08:11
7

Se você definir um diretório para acesso autenticado, navegadores como Chrome e Safari (talvez outros também) sempre enviarão uma solicitação OPTIONS não credenciada antes da chamada XmlHttpRequest, que sempre obtém 401 e falha se não definirmos o arquivo .htaccess / configuração do apache para permitir o método OPTIONS sem exigir autenticação. Isso me deixou louca por dois dias e esse é o tipo de informação "esotérica" que os webmasters mantêm como segredo, eu acho! De qualquer forma eu configurei meu .htaccess assim e agora funciona:

AuthUserFile <path to password file>
AuthName "Thou shalt not pass!"
AuthType Basic
Options -Indexes
<LimitExcept OPTIONS>
  Require valid-user
</LimitExcept>

Então você precisa configurar os cabeçalhos corretamente nos scripts PHP.

    
por 25.09.2012 / 11:32
6

Às vezes, esse approuch pode ajudar:

<IfModule mod_headers.c>
    Header add Access-Control-Allow-Origin "*"
    Header add Access-Control-Allow-Headers "origin, content-type"
    Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
</IfModule>

RewriteEngine On                  
RewriteCond %{REQUEST_METHOD} OPTIONS 
RewriteRule ^(.*)$ blank.html [QSA,L]

É útil quando você tem um servidor semelhante ao apache

    
por 21.04.2014 / 13:38