Ir para conteúdo
MillerMaster

Identificação de parâmetros no .htaccess

Recommended Posts

Olá amigos. 

 

Vejam esses dois links de exemplo da olx. 

-> http://sp.olx.com.br/imoveis
-> http://sp.olx.com.br/regiao-de-sorocaba

 

Eu estou intrigado porque como eles fazem para diferenciar os últimos argumentos sendo que a variável no .htaccess é a mesma mais o valor dos argumentos passado na URL são diferentes. 

Por exemplo, "/imoveis" é uma categoria, já no outro link "/regiao-de-sorocaba" é uma região. 

 

Então como isso funciona?

A identificação do valor do parâmetro passado na URL é feita no .htaccess ou no arquivo .php?

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Paulo Oliveira Albuquerque
      Ola bom dia galera  se alguem poderia me dar uma ajuda na minha url amigavél,
      Ela funciona de boa 
      mais tenho dois problemas que esta me dando já dor de cabeça
      1º - Quando abre o link da url ex: meusite.com/produtos/23/nome-produtos  se eu por algo  a mais na frente desta url ela aceita e eu gostaria que que ele não aceitasse nada mais além do que foi feito o chamado  se ele for apenas assim ex2:  meusite.com/produtos/23/nome-produtos que nela não aceita se digitar na frente em um navegador qualquer mais coisa ex3:  meusite.com/produtos/23/nome-produtos-novo-uyuy   e nem aceitar se alguem digitar ou mesmo tentar fazer isso  meusite.com/produtos/23/  ou isso aqui  meusite.com/produtos.php?id=23
       
      2ª Minha Url amigavél quando ela e feito o shared em uma rede social quando eu clico dentro da rede social pra abrir a pagina ela esta vindo diferente do que foi postado ele aparece assim quando eu clico para abrir
       
      meusite.com/pasta/produtos/23/nome-produtos /><!-- ==================================================================================================================================== --> <link rel=?fbclid=Mgsgs-swwfw-dwedwedwewf-wefwefwhgygygygjhjnjnjnjnjn#.HDHDHDHDJ-messenger
      e as vezes assim
      meusite.com/pasta/produtos/23/nome-produtos?fbclid=Mgsgs-swwfw-dwedwedwewf-wefwefwhgygygygjhjnjnjnjnjn#.HDHDHDHDJ-messenger
       
      era pra ele aparecer assim quando clicar
      meusite.com/produtos/23/nome-produtos 
       
      No meu HTACCESS ESTA ASSIM
       
      #------------------------------------------------------------------- # PERMISSIONANDO REESCRITA #------------------------------------------------------------------- RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f #------------------------------------------------------------------- # EXTENSAO PHP #------------------------------------------------------------------- RewriteRule ^(.*)$ $1.php #------------------------------------------------------------------- # URL AMIGAVEL #------------------------------------------------------------------- RewriteRule ^produtos\/?([0-9]+)\/?(.+)\/?$ produtos.php?id=$1 RewriteRule ^sobre\/?([a-z]+)\/?(.+)\/?$ sobre.php RewriteRule ^index\/?([a-z]+)\/?(.+)\/?$ index.php RewriteRule ^contato\/?([a-z]+)\/?(.+)\/?$ contato.php RewriteRule ^buscar\/?([a-z]+)\/?(.+)\/?$ buscar.php e a minha função esta assim
       
      <?php //URL DEBUG CHARACTERS function encodeSEOString($string) { $string = preg_replace("`\[.*\]`U", "", $string); $string = preg_replace('`&(amp;)?#?[a-z0-9]+;`i', '-', $string); $string = htmlentities($string, ENT_COMPAT, 'utf-8'); $string = preg_replace("`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);`i", "\\1", $string); $string = preg_replace(array("`[^a-z0-9]`i", "`[-]+`"), "-", $string); return strtolower(trim($string, '-')); } ; ?> Meu link pra abrir a pagina esta assim
       
      <a href="meusite.com/pasta/produto/<?php echo $id; ?>/<?php echo encodeSEOString($prod_nome); ?>">Listar</a> Obs: como eu disse ela abre normal sem problemas o unico problema que estou tendo foi as que eu sitei ai em cima
    • Por Paulo Oliveira Albuquerque
      Ola galera boa noite 
      sou novo aqui e sou bem nub em php e msqli e pdo
      Porem tenho uma url amigavél que funciona para mim perfeita mente sem problemas
      Bom porém quero que ela seja bloqueadas algumas funções por ex: meudominio.com/pasta/produdos/128/computadores-lc
      Entre este meudominio.com/pasta/produdos/128/computadores-lc   quero que meu htaccess ele não deixa por nada entre o meudominio.com/pasta/produdos/128/computadores-lc-alguma-coisa
      ou meudominio.com/pasta/produdos.php?id=128
      quero que ele apenas reconhecer o link direncionado pela url qu seja este aqui meudominio.com/pasta/produdos/128/computadores-lc nada mais
      se alguem tentar por alguma coisa fora desta url ele direciona para o index principal ou motre erro dentro da quela pagina que esta fora da url amigavel
      Ou seja tudos que estiver o ex: meudominio.com/sobre.php
      ele apenas gere o meudominio.com/sobre    sem que ele aceite o .php ou outra outra coisa fora do que esta sendo chamo pelo htaccess ou pela url
      em meus arquivos esta assim a minha url.php
       
      <?php //URL DEBUG CHARACTERS function encodeSEOString($string) { $string = preg_replace("`\[.*\]`U", "", $string); $string = preg_replace('`&(amp;)?#?[a-z0-9]+;`i', '-', $string); $string = htmlentities($string, ENT_COMPAT, 'utf-8'); $string = preg_replace("`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);`i", "\\1", $string); $string = preg_replace(array("`[^a-z0-9]`i", "`[-]+`"), "-", $string); return strtolower(trim($string, '-')); } ; ?> No meu htaccess esta assim
       
      #------------------------------------------------------------------- # PERMISSIONANDO REESCRITA #------------------------------------------------------------------- RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f #------------------------------------------------------------------- # EXTENSAO PHP #------------------------------------------------------------------- RewriteRule ^(.*)$ $1.php #------------------------------------------------------------------- # URL AMIGAVEL #------------------------------------------------------------------- RewriteRule ^produto\/?([0-9]+)\/?(.+)\/?$ produto.php?id=$1 RewriteRule ^sobre\/?([a-z]+)\/?(.+)\/?$ sobre.php RewriteRule ^index\/?([a-z]+)\/?(.+)\/?$ index.php  Na minha url que faz a chamad para o direcionamento esta assim
      <div class="hover-text lis-absolute lis-right-20 lis-bottom-20 lis-font-roboto text-white text-right"> <span class="text-white mb-0"><a href="<?php echo ConfigPainel('site_url'); ?>/produtos/<?php echo $id; ?>/<?php echo encodeSEOString($produtos); ?>" target="_blank" title="Clique para ver detalhes"><strong><font color="#fff"><?php echo $produtos; ?></a></font></strong></span></br><span class="lis-font-roboto"><a href="<?php echo ConfigPainel('site_url'); ?>/produtos/<?php echo $id; ?>/<?php echo encodeSEOString($produtos); ?>" target="_blank" title="Clique para ver detalhes"><font color="#fff" size="2"><?php echo VerificaCategoriaItem($dados['id_categoria'],'c_categoria'); ?></font></a></span></div>    Espero que eu possa ter sido bem detalhado ai para que todos possam ver o que eu quero..
    • Por Paulo Oliveira Albuquerque
      Ola galera boa noite 
      sou novo aqui e sou bem nub em php e msqli e pdo
      Porem tenho uma url amigavél que funciona para mim perfeita mente sem problemas
      Bom porém quero que ela seja bloqueadas algumas funções por ex: meudominio.com/pasta/produdos/128/computadores-lc
      Entre este meudominio.com/pasta/produdos/128/computadores-lc   quero que meu htaccess ele não deixa por nada entre o meudominio.com/pasta/produdos/128/computadores-lc-alguma-coisa
      ou meudominio.com/pasta/produdos.php?id=128
      quero que ele apenas reconhecer o link direncionado pela url qu seja este aqui meudominio.com/pasta/produdos/128/computadores-lc nada mais
      se alguem tentar por alguma coisa fora desta url ele direciona para o index principal ou motre erro dentro da quela pagina que esta fora da url amigavel
      Ou seja tudos que estiver o ex: meudominio.com/sobre.php
      ele apenas gere o meudominio.com/sobre    sem que ele aceite o .php ou outra outra coisa fora do que esta sendo chamo pelo htaccess ou pela url
      em meus arquivos esta assim a minha url.php
       
      <?php //URL DEBUG CHARACTERS function encodeSEOString($string) { $string = preg_replace("`\[.*\]`U", "", $string); $string = preg_replace('`&(amp;)?#?[a-z0-9]+;`i', '-', $string); $string = htmlentities($string, ENT_COMPAT, 'utf-8'); $string = preg_replace("`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);`i", "\\1", $string); $string = preg_replace(array("`[^a-z0-9]`i", "`[-]+`"), "-", $string); return strtolower(trim($string, '-')); } ; ?> No meu htaccess esta assim
       
      #------------------------------------------------------------------- # PERMISSIONANDO REESCRITA #------------------------------------------------------------------- RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f #------------------------------------------------------------------- # EXTENSAO PHP #------------------------------------------------------------------- RewriteRule ^(.*)$ $1.php #------------------------------------------------------------------- # URL AMIGAVEL #------------------------------------------------------------------- RewriteRule ^produto\/?([0-9]+)\/?(.+)\/?$ produto.php?id=$1 RewriteRule ^sobre\/?([a-z]+)\/?(.+)\/?$ sobre.php RewriteRule ^index\/?([a-z]+)\/?(.+)\/?$ index.php  Na minha url que faz a chamad para o direcionamento esta assim
      <div class="hover-text lis-absolute lis-right-20 lis-bottom-20 lis-font-roboto text-white text-right"> <span class="text-white mb-0"><a href="<?php echo ConfigPainel('site_url'); ?>/produtos/<?php echo $id; ?>/<?php echo encodeSEOString($produtos); ?>" target="_blank" title="Clique para ver detalhes"><strong><font color="#fff"><?php echo $produtos; ?></a></font></strong></span></br><span class="lis-font-roboto"><a href="<?php echo ConfigPainel('site_url'); ?>/produtos/<?php echo $id; ?>/<?php echo encodeSEOString($produtos); ?>" target="_blank" title="Clique para ver detalhes"><font color="#fff" size="2"><?php echo VerificaCategoriaItem($dados['id_categoria'],'c_categoria'); ?></font></a></span></div>    Espero que eu possa ter sido bem detalhado ai para que todos possam ver o que eu quero..
    • Por walacy.moreira
      Boa noite galera.
       
      Seguinte, eu tenho uma página em HTML e gostaria de ocultar a URL exibida no navegador. Alguém sabe se é possível? Pesquisei várias formas inclusive htaccess mas sem sucesso. 
       
      Exemplo: http://meusite/chat/index.html
       
      Gostaria que ao acessar o endereço acima seja exibida apenas a url:
      http://meusite/
      ou então:
      http://meusite.com.br/
    • Por WEBCHARLES
      tenho o seguinte .htaccess no meu site:
       
      RewriteEngine On
      RewriteCond %{SERVER_PORT} 80
      RewriteRule ^(.*)$ https://www.meusite.br/$1 [R,L]
       
      OBS: Funciona perfeitamente em todo o meu site
       
      e tenho o seguinte .htaccess na pasta do codeigniter chamada admnoticias:
       
      RewriteEngine on
      RewriteCond $1 !^(index\.php|public|\.txt)
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ index.php?$1 [L]
       
      Entretando para este, quando faço login no sistema de noticias, perco a comunicação entre view, controller e model. Já quando retiro o .htaccess de todo o site, o sistema volta a funcionar normalmente, mas a pagina fica como insegura. Alguém ajuda a resolver esse problema por favor!!
×

Informação importante

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