Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia!!
Estou tentando fazer uma regra no meu site onde tudo que for acessado na pasta mãe, sem a extensão do arquivo, seja direcionado para um arquivo php. Ex.:
www.meuend.com/tatubola seja redirecionado para www.meuend.com/busca.php?b=tatubola
wwww.meuend.com/sobre.php não seja direcionado pois foi definida a extensão .php no acesso
Pesquisei bastante e nada encontrei nesse sentido, principalmente porque sempre após o php pode vir definido alguma variável, tipo sobre.php?id=1. se poderem dar uma luz, agradeço!
Abs
Na verdade, depois de pensar e pesquisar mais um pouco, seria ideal fazer algo assim:
Redirect 301 /contato http://meusite.net/contato.php#contato
Redirect 301 /sobre http://meusite.net/sobre.php#sobre
Redirect 301 /gpx http://meusite.net/gpx.php#gps
Redirect 301 /destinos http://meusite.net/destinos.php#destinos
Redirect 301 /(.*)$ http://meusite/r.php?r=$1
Ou seja, gostaria que se o digitado não for igual a nenhum dos critérios (contato,sobre,gpx,destinos), ele redirecionasse para uma página especifica em PHP.
Basta:
RewriteRule ^(teste|acao|outro)$ $1.php#$1 [NC]
Se você digitar http://meusite/teste ele vai pegar o arquivo teste.php#teste
Caso seja digitado algo que não esteja dentro do teste acao ou outro (ou o nome que você informar na regra) ele ignora ela e pesquisa normalmente pelo arquivo.
>
6 minutos atrás, ESerra disse:
Basta:
RewriteRule ^(teste|acao|outro)$ $1.php#$1 [NC]
Se você digitar http://meusite/teste ele vai pegar o arquivo teste.php#teste
Caso seja digitado algo que não esteja dentro do teste acao ou outro (ou o nome que você informar na regra) ele ignora ela e pesquisa normalmente pelo arquivo.
É quase isso que eu quero, mas eu ainda preciso criar uma regra para, se não digitar TESTE, ACAO OU OUTRO, ele irá redirecionar para uma página de busca em php, por exemplo digitei BANANA ele vai redirecionar s.php?s=banana.
Entendeu?
Entendi sim, basta estudar ER que a parte mais difícil eu já te passei.
Obrigado!!!!
Fazendo por RewriteRule infelizmente não da pra usar a name tags do HTML, ele não direciona o site para o local desejado.
RewriteEngine on
RewriteBase /
RewriteRule ^r/(.*)$ http://www.meusite.net/r/r.php?s=$1 [R=301,L]
Tentei fazer por essa regra, mas, se eu digitar www.meusite.net/r/teste ele sempre irá retornar http://www.meusite.net/r/r.php?s=r.php quando na verdade eu precisaria que ele retornasse http://www.meusite.net/r/r.php?s=teste .
O que estou errado?
Consegui, obrigado pelas dicas! pode fechar!
Mostra pra gente a suas tentativas...