Utilizando página de Error 404 para criar URL Amigável
- Objetivo: Configurar página de error 404 para receber parâmetro e interpretar para qual página seguir.
- Exemplo de aplicação: URL Amigável
- Fonte: Post do desisto
>
pra aprender isso sozinho eu penei pra kct
isso nao é componente, é apenas uma opcao dada no iis pra rodar script na pagina 404
eu uso assim
defini que todas as paginas tem que ter .html pra ficar como padrao, mas voce pode colocar paginas.luis ou paginas.danilo
depois eu faco um limite pras /
alguns sites que usam url amigavel nao tem limite
ex:
xxx.com.br/noticia/11
xxx.com.br/noticia/sss/ddd/fff/gg/hhh/11 - isso seria sem limite de barras
uso no caso de alguma funcao interna ficar em loop ou no caso de um boot
separo as barras
xxx.com.br/noticia/11
barra1 = noticia
barra2 = 11 - id
em acao:
'============================================================================
==================================================
' Trata url - qtd de barras, extensao e barras
'============================================================================
==================================================
url_digitada = request.servervariables("QUERY_STRING")
trata_url = Replace(url_digitada, "404;http://", "")
trata_url = Replace(trata_url, "www.site.com.br:80", "")
trata_url = Replace(trata_url, "site.com.br:80", "")
quebra_url = Split(trata_url, "/")
tipo_arquivo = Split(trata_url, ".")
'============================================================================
==================================================
' Trata url - qtd de barras, extensao e barras
'============================================================================
==================================================
'============================================================================
==================================================
' Confere se é .HTML e se sao menos de 6 barras
'============================================================================
==================================================
if Ubound(tipo_arquivo) <> 1 then
response.Write "nao tem extensao, ou tem mais de 1!!!"
else
extensao = LCase(tipo_arquivo(1))
barras = Ubound(quebra_url)
[b]if extensao <> "html" then[/b] - pode mudar pra extensao que quiser (asp, html, cgi, exe, php...)
response.Write "extensao diferente de .html!!!"
else
if barras = 1 then
barra_1 = LCase(Replace(quebra_url(1), ".html", ""))
elseif barras = 2 then
barra_1 = LCase(Replace(quebra_url(1), ".html", ""))
barra_2 = LCase(Replace(quebra_url(2), ".html", ""))
elseif barras = 3 then
barra_1 = LCase(Replace(quebra_url(1), ".html", ""))
barra_2 = LCase(Replace(quebra_url(2), ".html", ""))
barra_3 = LCase(Replace(quebra_url(3), ".html", ""))
elseif barras = 4 then
barra_1 = LCase(Replace(quebra_url(1), ".html", ""))
barra_2 = LCase(Replace(quebra_url(2), ".html", ""))
barra_3 = LCase(Replace(quebra_url(3), ".html", ""))
barra_4 = LCase(Replace(quebra_url(4), ".html", ""))
elseif barras = 5 then
barra_1 = LCase(Replace(quebra_url(1), ".html", ""))
barra_2 = LCase(Replace(quebra_url(2), ".html", ""))
barra_3 = LCase(Replace(quebra_url(3), ".html", ""))
barra_4 = LCase(Replace(quebra_url(4), ".html", ""))
barra_5 = LCase(Replace(quebra_url(5), ".html", ""))
elseif barras >= 6 then
response.Write "Erro: mais de 5 barras <br /><br /><br />"
end if
'============================================================================
==================================================
' Confere se é .HTML e se sao menos de 6 barras
'============================================================================
==================================================
agora você ta tem a qtd de barras e o conteudo de cada uma
rodando baseado na 1ª barra
www.xx.com.br/lap-top/dell.html
Select Case barra_1
Case "lap-top"
if barra_2 = dell then
response.write "laptop"
end if
Case Else
erro()
End Select
>
isso é so um exemplo rapido de como fazer
pode fazer com loop de uma tabela com todos os produtos
ai você ve qual melhor forma
[]s
Autor: desisto
Discussão (6)
Carregando comentários...