Url Amigavel
#1
Posted 16/06/2006, 02:02
li como fazer uma url amigavel com o .htaccess
so que ele so roda no apache
teria como eu fazer um sistema que lesse xxx.com.br/455/sei-la-o-que feito em asp ?
como eu posso pegar os valores apos a /?
valeu []'s
#2
Posted 16/06/2006, 09:36
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#3
Posted 16/06/2006, 12:23
dai la vc faz.. select * from tabela where titulo_noticia = 'sei-la-o-que'
é o codigo q o eclesiastes passou.. so q resumido.. hauhauah
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto
#4
Posted 16/06/2006, 15:00
1º crio uma parada no IIS que todo erro 404 caia pra uma pagina, por exempo, teste.asp com o codigo:
<%
on error resume next
myDomain = "www.me.com"
myrewritedir = "code"
Set objW3SVC = GetObject("IIS://localhost/W3SVC")
For Each objSITE in objW3SVC
If objSITE.class = "IIsWebServer" Then
websiteNameArr = objSITE.ServerBindings
for j = 0 to Ubound(websiteNameArr)
websiteName = websiteNameArr(j)
If instr(websiteName,myDomain) > 0 then
Set objIISNewDir = GetObject("IIS://localhost/W3SVC/" & objSite.Name & "/root")
Set CodeDir = objIISNewDir.Create("IIsWebDirectory",myrewritedir )
CodeDir.SetInfo
Set objIISNewDir = Nothing
Set objIISRewriteRootDir = GetObject("IIS://localhost/W3SVC/" & objSite.Name & "/root/" & myrewritedir)
CustomErrors = objIISRewriteRootDir.HttpErrors
For i = 0 To UBound(CustomErrors)
If Left(CustomErrors(i),3) = "404" then
CustomErrors(i) = "404,*,URL,/" & myrewritedir & "/rewrite.asp"
objIISRewriteRootDir.HttpErrors = CustomErrors
objIISRewriteRootDir.SetInfo
Exit For
End If
Next
Set objIISRewriteRootDir = Nothing
End if
Next
End if
Next
%>
2º depois crio um arquivo, ex., chamada.asp com o codigo:
<%
'In IIS, 404 pages that are directed to an URL have the "error" URL attached in the query string.
'It looks something like this 404;http://www.me.com:80...leblahblah1.asp
'We're gonna use it.. so grab it.
script = request.servervariables("QUERY_STRING")
if instr(script,"/") > 1 then
myArray = split(script,"/")
if instr(myArray(Ubound(myArray)),".asp") = 0 then
myID = myArray(Ubound(myArray)) 'This is the method for obtaining the ID if you end your URL in the ID. Example: http://www.me.com/co...-is-good-code/1
else
myID = replace(myArray(Ubound(myArray)),".asp","") 'This is the method for obtaining the ID if you end your URL in a fake extension. Example: http://www.me.com/co...good-code/1.asp
end if
end if
'Now that you've extracted your code ID, just go about your business, you are done!
'Here's some sample code
if isNumeric(myID) then 'Make sure it's an ID and not some malicious code
response.write "The ID Extracted from the URL is: " & myID
else
response.redirect "http://www.me.com"
end if
%>
todas as linhas são padrao do IIS? o que que eu posso mudar ai?
IIS://localhost/W3SVC/" & objSite.Name & "/root/" & myrewritedir
essa linha é o q? no entensi iis
[]s
ninguem???
#5
Posted 20/06/2006, 01:50
http://localhost/pro...asp?/teste-dica
agora queria saber se o google idexa dessa maneira
alguem sabe me dizer?
[]s
#6
Posted 20/06/2006, 09:15
que
index.asp?id=10
* Administração e Configuração de Servidores;
* Combinação Perfeita: NGINX + PHP + VARNISH + HAPROXY
* otavio*iporto.com ~ Tel: +55 51 3366 0177 | +55 51 4063 7343 |
* @iporto
#7
Posted 20/06/2006, 11:21
agora queria saber se o google idexa dessa maneira
alguem sabe me dizer?
Veja o resultado do phpbrasil.com nas páginas do Google:
http://www.google.co...=utf-8&oe=utf-8
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#8
Posted 20/06/2006, 14:31
#9
Posted 20/06/2006, 15:15
é pra vc ir no IIS e configurar como pagina de erro 404 uma pagina que você tenha desenvolvido que pegue qual é a url digitada, faça um split na url, pegue o que ta escrito e procure no banco de dados o registro que tenha o titulo por exemplo, como o que está escrito na url.
vou ver se tenho um tempo aqui e desenvolvo algo do tipo pra te mostrar.
[]s
------------------
UPDATE
Fiz aqui uma coisa bem simples, já vou avisando que não fiz muitos testes, mas deve funcionar.
- Va em Painel de Controle -> Ferramentas Administrativas -> Internet Information Services
- Na pasta que está seu site va em Propriedades -> Erros Personalizados
- Procure por 404 e clique em Editar Propriedades
- Altere para Tipo de Mensagem: URL, e em URL coloque /PegaErro.asp (eu usei este nome no meu arquivo, mas pode ser qualquer coisa que você quiser)
- Copie o código do arquivo abaixo e salve com o nome que você marcou como pagina de erro 404 padrão no IIS
<% 'Pega o que foi digitado na barra de enderecos url_digitada = request.servervariables("QUERY_STRING") 'Pega qual o dominio do seu site minha_url = Request.ServerVariables("SERVER_NAME") 'Tira o padrao que o IIS poe quando manda para a pagina de erro 404 trata_url = Replace(url_digitada, "404;http://" & minha_url & "/", "") 'Separa a string que agora esta assim: "noticia/125/titulo_de_noticia_que_nao_vai_fazer_diferenca" quebra_url = Split(trata_url, "/") 'Agora voce pode fazer como achar melhor 'Eu vou fazer com um Select Case para ver qual sessao do site que vai redirecionar Select Case quebra_url(0) Case "noticia" 'Vai ver se tem um ID para a noticia, e se tiver se ele é numerico If Ubound(quebra_url) <> 0 Then If IsNumeric(quebra_url(1)) Then 'Se tiver ele envia para a pagina que exibe a noticia Response.redirect "noticia.asp?noticia=" & quebra_url(1) Else 'se o ID não for numerico manda pra pagina que lista todas noticias Response.Redirect "noticia.asp" End If Else 'Se não tiver id manda pra pagina que lista todas noticias Response.Redirect "noticia.asp" End If Case "downloads" 'Agora você faz mais ou menos isso para todas as sessoes do seu site Response.Write "Sessao de downloads" Case Else 'E aqui é para se a sessao não existir, ou se o cara escrever qualquer bobera na url Response.Write "404 - não existe esta sessão" End Select %>
PS: Eu fiz este código rapidinho, não fiz muitos teste, então antes de usa-lo recomendo fazer algumas melhorias nele quanto a segurança.
[]s
Edição feita por: siola, 20/06/2006, 16:57.
#10
Posted 20/06/2006, 18:40
tipo...
localhost/teste/index.asp isso abre
mas pagina de erro 404 ele nao redireciona
pq?
#11
Posted 20/06/2006, 19:19
#12
Posted 20/06/2006, 20:18
mas nao estou conseguindo aponta corretamente pra pagina 404
#13
Posted 20/06/2006, 21:11
do jeito que estão as figuras em anexo você tem que salvar o codigo que eu postei antes como 404.asp e colocar ele na pasta root do site, geralmente a pasta C:\Inetpub\wwwroot
[]s
Attached Files
#14
Posted 20/06/2006, 23:13
sempre da "404 - não existe esta sessão"
quando ponho http://localhost/teste/downloads
da o mesmo erro
#15
Posted 21/06/2006, 15:32
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)