Ir para conteúdo

POWERED BY:

Arquivado

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

hargon

Utilizando página de Error 404 para criar URL Amigável

Recommended Posts

- 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

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, ai gostei da configuração, isso para se tornar um padrão em aplicação, fica até bem mais fácil de adaptar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou testar pr aver se funciona.

mas me diga uma coisa, o google vai ler esses urls? pois eles serao gerados apenas quando acessar a pagina não é isso?

 

como fazer pra trocar todos os links de um site que ja esta publicado? na mao um por um vo demorar muito

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que utilizar as Ferramentas para Webmasters do Google, enviando o sitemap.xml

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu Ted http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

 

vou testar pr aver se funciona.

mas me diga uma coisa, o google vai ler esses urls? pois eles serao gerados apenas quando acessar a pagina não é isso?

 

como fazer pra trocar todos os links de um site que ja esta publicado? na mao um por um vo demorar muito

como o hargon dosse, se tiver um sitemap é melhor

senao ele vai varrendo os links

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.