Jump to content
Adriano Barbosa

URL Amigáveis com mod_rewrite e .htaccess

Recommended Posts

Olá, tudo bom?

 

Se alguém puder me ajudar já agradeço de agora.

 

Tenho um .htaccess da seguinte forma:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1

 

No meu arquivo index.php eu pego a variável "page" e busco no banco de dados o arquivo correspondente ao valor informado, feito isso faço o seguinte:

 

require ($Rs->nomeArquivo);

que seria isso require (produto-detalhe.php);

 

O que ocorre é o seguinte, algumas páginas eu preciso passar parâmetros e funciona quando utilizo ( & ) porém se for utilizar o ( ? ) não consigo recuperar os valores informados.

 

Exemplos:

 

Assim funciona:

busca&b=carrinho

 

Assim não funciona:

busca?b=carrinho

 

Não consigo pegar o valor informado.

Alguém já passou por isso? ou estou fazendo da forma incorreta?

 

Podem me ajudar.

Abs

Share this post


Link to post
Share on other sites

Você pode aplicar uma regra para cada entrada na url tipo assim:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z,0-9,A-Z,_-]+)\/?$ index.php?page=$1 [NC,L]
RewriteRule ^([a-z,0-9,A-Z,_-]+)\/([a-z,0-9,A-Z,_-]+)\/?$ index.php?a=$1&busca=$2 [NC,L]

 

No seu caso a primeira entrada é $_GET['page']. Nesse exemplo o mesmo é, mas como temos uma segunda regra temos o que vem depois de $_GET['page'] entra outro caso inserido $_GET['busca']

Ou seja se a url vier assim: https://site/entrada/carrinho

Basta que no arquivo que eu incluir com $_GET['page'] eu tome as ações a partir de segunda entrada que seria $_GET['busca'].

 

Esse exemplo com execução pode ser adquirido pelo meu GIT: https://github.com/Spell-Master/Get-UrlAmigavel/

 

Se por acaso venha a utilizar muitos parâmetros de entrada, meio óbvio que ficar criando dezenas de regras não é o ideal.

Nesse post apresentei algo viável nessa situação:

https://forum.imasters.com.br/topic/583448-como-fazer-url-amigável-com-variáveis-na-url/?tab=comments#comment-2280668

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By RewelB
      Olá, gostaria de saber como faço pra que quando o usuário digite algo em um campo de texto a imagem fique girando. Eu tenho a imagem de uma engrenagem e queria que ela fizesse uma animaçãozinha no estilo da que tem nesse site: http://www.empsis.com.br/. Sou iniciante e peço desculpas se isso for muito simples de fazer. Estou usando PHP, HTML e CSS.
    • By JenneferBarbosa
      Pessoas, sou nova em PHP e queria que vocês me ajudassem com um exemplo. Tenho um array com um token e cada token possui um limite diário de 25 consultas. Então, eu criei 10 tokens para que as consultas sejam 250 consultas por dia. Porém, eu preciso verificar se cada token atingiu o limite de 25 e então partir para outra chave do array. Quando o limite de todos for batido, dizer para o usuário que ele atingiu o limite e que a nova consulta será feita no outro dia. Se alguém tiver como me ajudar com um exemplo. Ficarei muito feliz e grata! 
      $token = [ 'aaaaaaa' , 'bbbbbbb' , 'cccccc' , 'dddddd' , 'eeeeee' , 'fffffff' ];  
    • By drx
      Olá pessoal!
       
      Pergunta:  Dá para desenvolver qualquer tipo de sistema web com WordPress?
      Por exemplo: Quero desenvolver um sistema multinível. É tranquilo?
      Aguardo.
    • By thgsousa3122
      <?php $url = 'www.site.com'; $dadosSite = file_get_contents($url); echo $dadosSite; ?> <script type="text/javascript"> window.onload = function(){ var x = document.getElementsByClassName("fraction")[0].innerHTML= "100"; } </script> Glr tenho esse codigo, eu queria alterar o conteudo que tem como classe "fraction", porem ele nao da resposta, alguem tem alguma sujestão?
    • By brunoogm
      Pessoal, vou iniciar um desenvolvimento mobile usando Xamarin
      e gostaria de saber se alguém conhece alguma maneira
      ou tenha algum doc. de como utilizar PHP e MySql (e se necessário Json)
      para realizar um CRUD e a partir daí eu poder me entender com a plataforma...
       
      Desde já obrigado.
       
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.