Jump to content


Photo

Manipulando Variáveis Do Rewriterule No .htaccess


  • Faça o login para participar
4 replies to this topic

#1 bryntec

bryntec

    Turista

  • Usuários
  • 46 posts
  • Sexo:Masculino
  • Localidade:Brasil

Posted 07/01/2008, 00:04

Manipulando variáveis do RewriteRule no .htaccess
Como manipular a ordem e quais variáveis ($1, $2, ...) devem aparecer no RewriteRule, onde as variáveis de um sistema de busca sejam vazias (empty) ou não ?

Exemplificando:

Sem URL Amigável
http://www.site.com/...&operacao=venda&bairro=&de=1&ate=2000000
A variável bairro está vazia, mas mesmo assim no resultado irá listar todos os imóveis de todos os bairros que pertençam aos outros critérios (das variáveis).

Com URL Amigável
http://www.site.com/busca/ap/venda//1/2000000/
Se a posição, que representa o valor da variável bairro estiver vazia, os resultados não aparecem, ocorre um erro.

.htaccess
RewriteRule ^busca/([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)/$ /index.php?pagina=busca&operacao=$1&imovel=$2&bairro=$3&de=$4&ate=$5 [L]

Com URL Amigável só irá aparecer os resultados da busca corretamente, se todos os itens estiverem preenchidos no link.
bryntec.com | Design e Programação Web

#2 § Kenshin §

§ Kenshin §

    I'm coming back...!

  • Usuários
  • 574 posts
  • Sexo:Masculino
  • Localidade:BA
  • Interesses:Sou fã de linguagens direcionadas para a web, como php, (x)html, xml, wml.
    Também gosto de webdesign e ultimamente tenho me dedicado mais a aprender css, mysql, javascript, ajax e actionscript.
    Trabalho com os programas Dreamweaver, Illustrator e Flash.

Posted 31/01/2008, 20:11

tenta assim:

RewriteRule ^busca/([^/]+)/([^/]+)/([^/]+)?/([^/]+)/([^/]+)/$ /index.php?pagina=busca&operacao=$1&imovel=$2&bairro=$3&de=$4&ate=$5 [L]
e depois arruma essa er, ta muito fraca.

vlw ^_^
Web Developer / Web Designer / Information Architect
"Living to learn... learning to live!"
Useful links: Rules | Search

#3 marcelome

marcelome

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Masculino
  • Interesses:Tecnologia

Posted 14/06/2008, 22:34

Tenho um problema parecido com este :

Criei o htaccess assim :

RewriteRule (.*)/(.*)\.html$ detalhe.php?emp_codigo=$2&emp=$1

Quando tem a variavel " www-venhaca-com-sc-ltda " na url a pagina funciona assim :

http://www.entrei.ne...da/3992565.html

Quando a variavel $1 não vem ocorre erro 404

http://www.entrei.ne...s//3992565.html

Alguem pode me ajudar ?


Alterei e continua o mesmo erro sem a variavel $1
RewriteRule (.+)/(.*)\.html$ detalhe.php?emp_codigo=$2&emp=$1



Grato

Edição feita por: marcelome, 14/06/2008, 22:44.

Marcelo Gomes

http://www.entrei.net – Guia de Empresas
http://www.vestibulareconcursos.com.br – Vestibular e Concursos Publicos
http://www.nanico.com.br Fórum de Animais
http://www.tieline.com.br Shopping de Compras
http://www.artemagnetica.com.br - Blog da Vida

#4 § Kenshin §

§ Kenshin §

    I'm coming back...!

  • Usuários
  • 574 posts
  • Sexo:Masculino
  • Localidade:BA
  • Interesses:Sou fã de linguagens direcionadas para a web, como php, (x)html, xml, wml.
    Também gosto de webdesign e ultimamente tenho me dedicado mais a aprender css, mysql, javascript, ajax e actionscript.
    Trabalho com os programas Dreamweaver, Illustrator e Flash.

Posted 15/06/2008, 00:21

oi marcelome,

ja tem varios topicos no forum sobre rewrite_rule, use a busca.

tem tambem um link do livro sobre expressoes regulares.

no caso do seu link tente assim (consulte o livro pra aprender as regras):

RewriteRule ^([a-z0-9-]+)\/([0-9]+)\.html$ detalhe.php?emp_codigo=$2&emp=$1
me diz uma coisa, voce quer que ele faca o que caso nao tenha a variavel $1?

ps: o quantitativo + significa pelo menos um caractere (qualquer, representado pelo curinga .).

vlw ^_^

Edição feita por: § Kenshin §, 15/06/2008, 00:24.

Web Developer / Web Designer / Information Architect
"Living to learn... learning to live!"
Useful links: Rules | Search

#5 marcelome

marcelome

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Masculino
  • Interesses:Tecnologia

Posted 15/06/2008, 16:24

Kenshi,

Obrigado pelo apoio!!! Continuei buscando mais informações no forum e no livro mas continuo com esta duvida:

A regra abaixo funciona perfeitamente para a url http://www.entrei.ne...da/3992565.html

RewriteRule ^([a-z0-9-]+)\/([0-9]+)\.html$ detalhe.php?emp_codigo=$2&emp=$1

Mais quando o valor vem nulo para a variavel $1 não funciona com a url http://www.entrei.ne...s//3992565.html

Acho que deveria ter duas regras uma com as duas variaveis e outra com apenas uma, que falta especificar o quantitativo nulo

RewriteRule ^(nulo)\/([0-9]+)\.html$ detalhe.php?emp_codigo=$1
Marcelo Gomes

http://www.entrei.net – Guia de Empresas
http://www.vestibulareconcursos.com.br – Vestibular e Concursos Publicos
http://www.nanico.com.br Fórum de Animais
http://www.tieline.com.br Shopping de Compras
http://www.artemagnetica.com.br - Blog da Vida




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq