Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Filipe_Moraes

[Resolvido] .htaccess com .json

Recommended Posts

Olá pessoal.

Tenho no servidor o seguinte arquivo ".htaccess":

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !\.(js|gif|jpg|png|css|txt|ini)$ 
RewriteRule ^(.*)$ index.php

 

Acontece o seguinte, eu tenho um arquivo .php que retorna json, só que não queria revelar o caminho desse ficheiro, então como altero o ".htaccess" para considerar a seguinte requisição?

http://dominio.com/resource/image.json?a=jpg&b=1

 

Nesse caso não queria redirecionar para o "index.php" como tenho no ".htaccess".

Queria redirecionar para o "resource.php" em que "image", "json", "jpg" e "1" seriam parâmetros.

 

Como fazer isso sem atrapalhar as chamadas existentes que são redirecionadas para o "index.php"? É que quero adicionar essa exceção a regra.

 

Agradeço a ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu consegui da seguinte forma, mas com um problema:

1. RewriteEngine On 
2. RewriteRule ^([^.?]+).json(.*)$ get$1.php [L,QSA]
3. ErrorDocument 400 http://localhost:8080/portal/
4. ErrorDocument 404 http://localhost:8080/portal/
5. ErrorDocument 403 http://localhost:8080/portal/
6. ErrorDocument 401 http://localhost:8080/portal/
7. ErrorDocument 500 http://localhost:8080/portal/
8. RewriteCond %{REQUEST_FILENAME} !\.(js|gif|jpg|png|css|txt|ini|php)$ 
9. RewriteRule ^(.*)$ index.php

 

Veja, na segunda linha ele pega tudo que for .json e manda para o getnome_da_pagina.php.

O problema é que na linha 8 tive que dar acesso aos ficheiros php.

 

É possível limitar esse acesso somente a determinados ficheiros .php?

Não quero dar acesso a todos os ficheiros .php.

Por exemplo, liberar acesso ao .php mas somente do ficheiro "getimages.php".

 

Agradeço a ajuda.

 

 

Pessoal, já encontrei a resposta, basta retirar o php da linha 8 e acrescentar o seguinte:

RewriteCond %{REQUEST_URI} !getimages.php$

 

Bom, antes de postar eu procurei, mas não encontrei... essa foi por acaso, fui procurar outra solução e encontrei essa... :grin:

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.