Pergunta

Eu estou tentando construir uma plataforma de teste RESTful extremamente simples para um aplicativo que estou trabalhando. Estou usando .htaccess para redirecionar URLs para o meu script controlador onde vou analisar as urls para lidar com a lógica.

Eu tenho o trabalho de redirecionamento, mas o problema é que se eu fizer um POST / PUT / DELETE, Firebug mostra meus pedidos de ir para o equipamento de teste corretamente, mas eu recebo uma resposta redirecionamento 301 e, em seguida, uma segunda resposta GET.

Como posso usar htaccess para o meu redirecionamento url sem ele mandar um 301 para o navegador?

Este é o .htaccess que estou usando agora:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
Foi útil?

Solução

Tente algo parecido com isto:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Isto irá redirecionar a menos que o arquivo solicitado existe (como um arquivo de imagem ou CSS). Eu freqüentemente usam essas regras e eu nunca ter executado em um 301.

Verifique se o seu script PHP não está mudando a resposta a uma 301.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top