Ir para conteúdo

POWERED BY:

Arquivado

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

Vagner Bucioli Scala

URL Rewrite

Recommended Posts

Pessoal! por favor preciso de um help de vcs! Seguinte preciso usar o Rewrite na minha aplicação para construir Urls amigáveis de modo que minhas URLs Assim:

 

www.meusite.com.br/pecas.asp?id=30&peca=Amortecedor

www.meusite.com.br/pecas.asp?id=31&peca=Embreagem

 

FIQUEM ASSIM:

 

www.meusite.com.br/Amortecedor

www.meusite.com.br/Embreagem

 

Segue abaixo, o arquivo q a Locaweb orienta a usar na raiz do site com a extensão .htaccess,no ambiente windows, para uso do componente Rewrite 3!! Mas minha dúvida principal como eu "chamo" isso prara minha aplicação? Sem abusar gostaria de um exemplo prático disso de como usar em ASP! Agradeço desde já abraços!

 

 

 

RewriteEngine on
RewriteCompatibility2 On
RepeatLimit 200
RewriteBase 
# unsupported directive: [ISAPI_Rewrite]

# Evita o download do arquivo .htaccess via browser
RewriteRule ^/.htaccess$ /erros/404.asp

#Configuração para tratamento das barras no endereço
#  Este é um caso comum para erros do tipo
#  www.site.com.br/produto/3335-cadeira e
#  www.site.com.br/produto/3335-cadeira/
RewriteRule ^([^.?]+[^.?/])$ $1/ [R,L]

#Configuração para o site1
RewriteCond %{HTTP:Host} ^(?:www\.)?site1\.com$
RewriteRule (.*) /site1$1 [NC,L,NS]

#Configuração para o site2
RewriteCond %{HTTP:Host} ^(?:www\.)?site2\.com$
RewriteRule (.*) /site2$1 [NC,L,NS]

Compartilhar este post


Link para o post
Compartilhar em outros sites
aqui dá uma olhada aqui, pode te ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi Xan já tinha lido este Wiki obrigado! Mas minha dúvida é.. eu consigo controlar/editar minhas urls somente dentro do .htaccess ou no html /ASp eu tb tenho q fazer alguma modificação? exemplo meu A href está assim:

 

<a href="http://www.meusite.com.br/categoria?id=25&categoria=Embreagem"> Embreagem </a>

 

* Preciso fazer alguma modificação nele, chamar uma função sei lá! ou é só no .htaccess q eu mexo?

 

você teria um exemplo prático de como conseguiria transformar esta url para:

 

http://www.meusite.com.br/Embreagem

 

Vou dar um exemplo mais simples seguindo um tuto aqui em cima da "contato.asp", para q ela se transforme em "/contato" apenas

 

 

No meu .htaccess está assim:

 

 

RewriteRule  ^/contato/?([a-zA-Z0-9_-]+)?(.html)?$ /contato.asp [I,L]
e o meu html está normal assim:

 

<a href="contato.asp"> Contato </a>
mas não funciona continua a url aparacendo a extensão .asp

 

Obs.: Já segui as recomendações da Locaweb pra ativar o ISAPI Rewrite no plano Windows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoa ! consegui um progresso utilizando esta linha:

 

RewriteRule  ^/Contato/?([a-zA-Z0-9_-]+)?(.html)?$ /Contato.asp? [I,L]
Eu consegui apontar meu href assim:

 

<a href="Contato"> Contato </a>
Aí belezinha! o navegador aceitou di boa meudominio.com.br/contato !!!

 

Agora o q vai ser osso é conseguir tratar um parametro desses todo: categoria.asp?Cod=10&Categoria=Embreagem ficar assim /Embreagem!! Mas belez vou tentar aqui até umas hora se alguem conseguir postar a forma beleza! se eu conseguir fazer depois volto aqui pra postar o resultado valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal! to "quase" lá! Só peço um favorzão pra vcs!! como eu consigo retirar o numero do ID da categoria da url? olha no site abaixo!

 

http://www.scalabrindes.com.br/index.asp

 

No Menu Lateral você clica nas Categorias está vindo assim:

 

http://www.scalabrindes.com.br/categoria/1/mochilas

http://www.scalabrindes.com.br/categoria/2/malas

 

* A única coisa q eu preciso pra fechar é conseguir tirar o parametro codcategoria daí gostaria assim:

 

http://www.scalabrindes.com.br/categoria/mochilas

http://www.scalabrindes.com.br/categoria/malas

 

Meu problema é q preciso do parametro "/1/" na url pq a outra pagina precisa deste parametro pra saber qual a categoria desejada!

 

O código q estou usando no .htaccess é este daqui:

 

RewriteEngine on
RewriteRule categoria/([0-9]+)/ /Categoria.asp?Cod=$1
RewriteRule ../([0-9]+)/ /Categoria.asp?Cod=$1

e estou apontando a url desta maneira

 

<A class=LinkTahoma11AzulBold 
                              href="categoria/<%=idcat%>/<%=FormataUrl(catprod)%>"><%=MostraCategoria("Categorias")%></A>

* Sendo q a função "FormataUrl é apenas para dar replace em caracteres %, -, * etc...

 

 

ME AJUDEM SO FALTA ISSO PRA MIM FECHAR!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mano não tem como, se o parametro id é necessário não tem como oculta-lo.

 

O que você pode fazer é trocar o id pelo nome da categoria... ou seja.. na pagina aonde recupera o id e faz a busca no bd, você troca pelo nome da categoria, so que terá que tratar a tabela e fazer alguns ajustes.

 

Outra solução é fazer um if else e tratar a nome da categoria jogando o id no próprio code... porém sempre quando tiver que cadastrar uma nova categoria... terá que mexer no code.

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza Patrique! o que eu queria era igual o esquema da Net Shoes:

 

http://www.netshoes.com.br/categoria/calcados/tenis/skate
* Mas no meu caso realmente o parametro IDCAT é necessário por causa da lógica já empregada no site e o da NetShoes deve ter um código diferente q pra mim acertar fazer igual, como você disse vou ter q revisar toda minha aplicação é deixa quieto!! vou deixar assim mesmo

 

Só mais uma pergunta! você acha que desta maneira q ficou, q consegui deixar:

 

http://www.scalabrindes.com.br/categoria/3/pastas
Ficou melhor q do jeito q estava:

http://www.scalabrindes.com.br/Categorias.asp?CodCat=2&Categoria=pastas
Ou não ajudou muito, não vai mudar muita coisa na otimização visto q "/3/" zuou o barraco?

abraço 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.