Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá. Eu fiz um site: www.augustoclaro.com.br
e eu queria saber como eu uso o isapi rewrite para ao invés de /post.asp?id=11 por exemplo, aparecesse /posts/validacao-de-formularios-com-javascirpt/
e na busca aparecesse /busca/string-de-busca/
Agradeço a ajuda.
Esse faq da locaweb é um dos piores que eu já vi na web, se quiser aprender mesmo sugiro procurar outros tutos, pois esse ai já ta manjado.
Você ou terá que encaixar o id na nova url ou terá que fazer o id a partir do título.
Se quiser utilizar o id numérico faça assim
a url sem rewrite é /post.asp?id=11 com rewrite ficara assim /busca/11/validacao-de-formularios-com-javascirpt
O code rewrite sera esse
RewriteRule busca/([0-9]+)/ /post.asp?id=$1
RewriteRule busca/([0-9]+) /post.asp?id=$1
O ([0-9]+) server para mostrar ao operador rewrite que só será permitido números lá, caso o usuário tente colocar letrar não é permitido.
Dai no code asp você tera que montar o link já com o id e já com o título tratado... retirando as acentuações, colocando - nos espaços e colocando as palavras em minúsculo.
A url terá que ficar assim
www.seusite.com.br/busca/1/titulo-tratado-da-notícia
Para formatar o título afim de se encaixar como url utilize essa função no título e jogue o resultado na url.
Function FormataUrl(ByVal Texto)
FormataUrl = Replace(Replace(LCase(Texto), " ", " "), "\'", "")
FormataUrl = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(FormataUrl, " ", "-"), "á", "a"), "é", "e"), "í", "i"), "ó", "o"), "ú", "u"), "ã", "a"), "â", "a"), "à", "a"), "ê", "e"), "ô", "o"), "ç", "c"), "/", ""), "'", ""), """", ""), "[", ""), "]", ""), "&", "-"), "#", ""), "+", ""), "{", ""), "}", ""), "ù", "u"), "ò", "o"), ".", ""), "?", ""), "!", ""), ":", ""), "´", ""), "`", ""), "õ", "o"), "\", "")
FormataUrl = Replace(Replace(Replace(FormataUrl, "û", "u"), "¢", "c"), "¡", "i")
FormataUrl = Replace(Replace(Replace(FormataUrl, "£", "e"), "¤", ""), "¥", "y")
FormataUrl = Replace(Replace(Replace(FormataUrl, "¦", ""), "ª", "a"), "æ", "ae")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "ë", "e"), "ì", "ì"), "ð", "o"), "Ä", "a")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "ñ", "n"), "ø", "o"), "ý", "y"), " ", " ")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "þ", "p"), "€", "e"), "ÿ", "y"), "²", "z")
FormataUrl = Replace(FormataUrl, "%", "")
FormataUrl = Replace(FormataUrl, "---", "-")
End Function
No outro exemplo se você não quiser colocar o id numero terá que criar uma tabela no seu bd, e quando for salvo o titulo... tera que fazer um tratamento, tirando acentuação, caracteres especiais, e espaços colocando -, e além disso todo titulo terá que ser único... não podendo repetir, com isso terá que fazer uma verificação no cadastro para que problemas futuros não aconteçam.
O code rewrite será o mesmo, porém terá que mudar o esquema que pega o id e identifica qual é a notícia... para ai pegar essa nova tabela que vai conter uma url rewrite do tipo.... teste-patrique-123 será ela que identificara qual notícia apresentar.
nossa patrique vce misturou tudo hehe
é uma ocisa diferente pra busca, e nãoo precisa do /11/
só quero assim:
de www.augustoclaro.com.br/posts.asp?id=11 vá para http://www.augustoclaro.com.br/posts/validacao-de-formularios-com-javascirpt/
e em outro caso, na busca
vá de www.augustoclaro.com.br/busca.asp?s=string+de+busca para http://www.augustoclaro.com.br/busca/string-de-busca/
e caso alguém chegasse e digitasse http://www.augustoclaro.com.br/busca/string-de-busca/ também fosse redirecionado para www.augustoclaro.com.br/busca.asp?s=string+de+busca
eu boiei em tudo que vce me falou patrique, isso é muito confuso pra mim :/
Obrigado pela atenção!
kkk reveja, pois é você quem esta se confundindo.
Pois testei aqui com a url que você passou e como você quer que fique e deu certo da maneira que te passei.
Mas..... vamos lá, vamos fazer primeiramente um teste para ai depois você aplica.
Crie uma página chamada teste.asp nesta página coloque o seguinte code...
<%
id = request.querystring("id")
Response.Write("O id chamado é: "& id &"")
%>
Agora crie um outra página chamada teste-link.asp nesta página coloque o seguinte code...
<%
Function FormataUrl(ByVal Texto)
FormataUrl = Replace(Replace(LCase(Texto), " ", " "), "\'", "")
FormataUrl = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(FormataUrl, " ", "-"), "á", "a"), "é", "e"), "í", "i"), "ó", "o"), "ú", "u"), "ã", "a"), "â", "a"), "à", "a"), "ê", "e"), "ô", "o"), "ç", "c"), "/", ""), "'", ""), """", ""), "[", ""), "]", ""), "&", "-"), "#", ""), "+", ""), "{", ""), "}", ""), "ù", "u"), "ò", "o"), ".", ""), "?", ""), "!", ""), ":", ""), "´", ""), "`", ""), "õ", "o"), "\", "")
FormataUrl = Replace(Replace(Replace(FormataUrl, "û", "u"), "¢", "c"), "¡", "i")
FormataUrl = Replace(Replace(Replace(FormataUrl, "£", "e"), "¤", ""), "¥", "y")
FormataUrl = Replace(Replace(Replace(FormataUrl, "¦", ""), "ª", "a"), "æ", "ae")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "ë", "e"), "ì", "ì"), "ð", "o"), "Ä", "a")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "ñ", "n"), "ø", "o"), "ý", "y"), " ", " ")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "þ", "p"), "€", "e"), "ÿ", "y"), "²", "z")
FormataUrl = Replace(FormataUrl, "%", "")
FormataUrl = Replace(FormataUrl, "---", "-")
End Function
idnoticia = 1
titulonoticia = "Patrique é o cara mais gostoso deste fórum"
Response.Write("<a href=""/busca/"& idnoticia &"/"& FormataUrl(titulonoticia) &""">"& titulonoticia &"</a>")
%>
Agora vai no arquivo de configuração do rewrite e coloque o seguinte code....
Apague tudo o que estiver lá e coloque este....
RewriteEngine on
RewriteRule busca/([0-9]+)/ /teste.asp?id=$1
RewriteRule busca/([0-9]+) /teste.asp?id=$1
Pronto, faça o teste e veja que esta funcionando, acabei de fazer aqui este code... depois testei e deu tudo certo.... modifique o valor que esta na variável idnoticia do code da pagina teste-link.asp e atualize... clique no, link novamente....
Fiz deste maneira para ver se encaixa na sua cachola, depois dessa se tu não aprender... PEDE PRA SAIR SEU FANFARRÃO! rsrsrsrsrsrs
:mellow:
Vixxi... to muito com esse tropa de elite na mente rsrsrs.
cara,vce misturou a busca com a noticia, percebe?
o que eu quero são duas coisas diferentes.
vamos esquecer a busca.
eu ainda não entendi :/
to boiando geral
tem coisa q eu n entendo e pronto haha
eu não quero busca/id/nome-do-post
eu quero /post/nome-do-post e busca/string-de-busca
duas coisas totalmente diferentes. Uma coisa é pra busca, e a outra é pros posts.
Sakou? =D
EU DISITO CAPITÃO!
existem ótimos tópicosm sobre o assunto, faça uma pesquisa no fórum, pode te ajudar...
Velho, você que misturou, olhe no seu primeiro post...
eu queria saber como eu uso o isapi rewrite para ao invés de /post.asp?id=11 por exemplo, aparecesse /posts/validacao-de-formularios-com-javascirpt/
Depois no seu segundo você postou
>
só quero assim:
de www.augustoclaro.com.br/posts.asp?id=11 vá para http://www.augustocl...com-javascirpt/
E foi isso que te passei, em relação a busca você terá que fazer ela normal... cria uma pasta chamada buscaseila nela coloque um arquivo chamado index.asp neste arquivo monte uma função que recupere a querystring "q" e faça a função de busca.... dai depois basta buscar... a url ficara da seguinte maneira....
www.seusite.com.br/buscaseila/?q=doidera
No caso da busca tem que ser assim, uma vez que entra valores com acentuação, espaço e etc.
Olá pessoal, não sei se posso fazer minha pergunta neste tópico, caso não possa, eu abro outro.
Patrique, fiz o exemplo que você deu, mas não tive o resultado esperado rsrsrs
O código que estou usando é esse:
teste-link.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>idnoticia = 1
titulonoticia = "Patrique é o cara mais gostoso deste fórum"
Response.Write("<a href="& idnoticia &"/"& FormataUrl(titulonoticia) &">"& titulonoticia &"</a>")
%>
</body>
</html>
teste.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body></body>
</html>
.htaccess
RewriteEngine on
RewriteRule ([0-9]+)/ /teste.asp?id=$1
RewriteRule ([0-9]+) /teste.asp?id=$1
estou fazendo algo errado??
coloquei em teste para vcs verem aqui
brigadão!
Eae cara!
Patrique, eu também fiz exatamente como vce falou, e não deu :S
Oxee...
Aqui não funciono..
Mas isso aí funciona com base no id, ou seja, se eu colocar /1/arroz-com-feijao vai pro id 1 do msmo jeito...
eu queria tipo igual esse do fórum.
/posts/id-nome-do-post
como faço? :P
você esta mais enrolado que linha de pipa, sugiro que faça da forma que estou passando, teste e vera que dara certo, so depois tente fazer as modificações, entenda primeiro o code, depois faça as modificações.
Desta forma que esta querendo fazer seu rewrite tera que ser assim...
RewriteRule posts/([0-9]+)/ /rewrite/teste.asp?id=$1
RewriteRule posts/([0-9]+) /rewrite/teste.asp?id=$1
Antes que falem que não da certo, veja os demos abaixo que eu coloquei no server...
http://www.adresende.com.br/rewrite/teste-link.asp
http://www.adresende.com.br/posts/1-patrique-e-o-cara-mais-gostoso-deste-forum
não tá funcionando oO
www.augustoclaro.com.br/teste-link.asp
Vamos, lá, você quer pelo exemplo
1 - http://www.adresende.com.br/busca/1/patrique-e-o-cara-mais-gostoso-deste-forum
ou o exemplo
2 - http://www.adresende.com.br/posts/1-patrique-e-o-cara-mais-gostoso-deste-forum
???
Diga ai que eu vou dar passo a passo pra tu.
2
Certo...
Antes de tudo, abra seu rewrite e insira o seguinte code...
RewriteRule posts/([0-9]+)/ /rewrite/teste.asp?id=$1
RewriteRule posts/([0-9]+) /rewrite/teste.asp?id=$1
Salve e jogue no servidor...
Agora crie uma pasta na raiz do seu servidor chamada rewrite
Dentro desta pasta crie 2 arquivos....
o primeiro o teste.asp nele coloque o seguinte code...
<%
id = request.querystring("id")
Response.Write("O id chamado é: "& id &"")
%>
Nessa mesma pasta, crie o segundo arquivo chamado teste-link.asp nele coloque o seguinte code...
<%
Function FormataUrl(ByVal Texto)
FormataUrl = Replace(Replace(LCase(Texto), " ", " "), "\'", "")
FormataUrl = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(FormataUrl, " ", "-"), "á", "a"), "é", "e"), "í", "i"), "ó", "o"), "ú", "u"), "ã", "a"), "â", "a"), "à", "a"), "ê", "e"), "ô", "o"), "ç", "c"), "/", ""), "'", ""), """", ""), "[", ""), "]", ""), "&", "-"), "#", ""), "+", ""), "{", ""), "}", ""), "ù", "u"), "ò", "o"), ".", ""), "?", ""), "!", ""), ":", ""), "´", ""), "`", ""), "õ", "o"), "\", "")
FormataUrl = Replace(Replace(Replace(FormataUrl, "û", "u"), "¢", "c"), "¡", "i")
FormataUrl = Replace(Replace(Replace(FormataUrl, "£", "e"), "¤", ""), "¥", "y")
FormataUrl = Replace(Replace(Replace(FormataUrl, "¦", ""), "ª", "a"), "æ", "ae")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "ë", "e"), "ì", "ì"), "ð", "o"), "Ä", "a")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "ñ", "n"), "ø", "o"), "ý", "y"), " ", " ")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "þ", "p"), "€", "e"), "ÿ", "y"), "²", "z")
FormataUrl = Replace(FormataUrl, "%", "")
FormataUrl = Replace(FormataUrl, "---", "-")
End Function
idnoticia = 1
titulonoticia = "Patrique é o cara mais gostoso deste fórum"
Response.Write("<a href=""/posts/"& idnoticia &"-"& FormataUrl(titulonoticia) &""">"& titulonoticia &"</a>")
%>
Pronto... com os arquivos criado, faça o teste acessando por
www.augustoclaro.com.br/posts/1-seila-oque
Faça exatamente da maneira que te passei, que não dara erro.
n deu certo.. será que é problema no servidor?
você mandou habilitar o suporte ao rewrite pelo servidor? tem uns que é necessário mandar habilitar.
Porém uma pergunta... você possui um arquivo chamado .htaccess na raiz do seu servidor, e é nele que esta colocando o code rewrite?
sim, tenho este arquivo. vou ver se tenho que ativar, já posto a resposta
E aproveito pra agradecer a atenção Patrique =D
Beleza, tem server que dão a própria opção no painel de controle do domínio, outros requerem que seu site seja migrado para um outro servidor com suporte ao rewrite, porém basta entrar em contato e solicitar a ativação, que eles migram ou ativa na hora.
[]'s
O meu servidor é de revenda de hospedagem de um amigo, então não tem (pelo menos eu n axei) a opção de mandar mensagem pra eles, só tem um link lá de ajuda que não ajuda em nada :/
Possivelmente esta desabilitado, na pior das hipóteses não tem suporte a rewrite :(
>
Possivelmente esta desabilitado, na pior das hipóteses não tem suporte a rewrite :(
Patrique, meu server está trabalhando com a versão do Rewrite.
Sabe se seu código sofre alguma alteração para essa versão?
Testei aqui com o exemplo da pasta "rewrite" e não tive sucesso.
Obrigado.
Me mostre como ficou seu .htaccess, e me indique as url reais.
>
Me mostre como ficou seu .htaccess, e me indique as url reais.
Segue Patrique. Obrigado pela ajuda.
.htacess
RewriteEngine on
RewriteRule busca/([0-9]+)/ /teste.asp?id=$1
RewriteRule busca/([0-9]+) /teste.asp?id=$1
http://www.criativeagencia.com.br/rewrite/teste-link.asp
<%
Function FormataUrl(ByVal Texto)
FormataUrl = Replace(Replace(LCase(Texto), " ", " "), "\'", "")
FormataUrl = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(FormataUrl, " ", "-"), "á", "a"), "é", "e"), "í", "i"), "ó", "o"), "ú", "u"), "ã", "a"), "â", "a"), "à", "a"), "ê", "e"), "ô", "o"), "ç", "c"), "/", ""), "'", ""), """", ""), "[", ""), "]", ""), "&", "-"), "#", ""), "+", ""), "{", ""), "}", ""), "ù", "u"), "ò", "o"), ".", ""), "?", ""), "!", ""), ":", ""), "´", ""), "`", ""), "õ", "o"), "\", "")
FormataUrl = Replace(Replace(Replace(FormataUrl, "û", "u"), "¢", "c"), "¡", "i")
FormataUrl = Replace(Replace(Replace(FormataUrl, "£", "e"), "¤", ""), "¥", "y")
FormataUrl = Replace(Replace(Replace(FormataUrl, "¦", ""), "ª", "a"), "æ", "ae")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "ë", "e"), "ì", "ì"), "ð", "o"), "Ä", "a")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "ñ", "n"), "ø", "o"), "ý", "y"), " ", " ")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "þ", "p"), "€", "e"), "ÿ", "y"), "²", "z")
FormataUrl = Replace(FormataUrl, "%", "")
FormataUrl = Replace(FormataUrl, "---", "-")
End Function
idnoticia = 1
titulonoticia = "Patrique é o cara mais gostoso deste fórum"
Response.Write("<a href=""/posts/"& idnoticia &"-"& FormataUrl(titulonoticia) &""">"& titulonoticia &"</a>")
%>
http://www.criativeagencia.com.br/rewrite/teste.asp
<%
id = request.querystring("id")
Response.Write("O id chamado é: "& id &"")
%>
Patrique, meu post anterior saiu incompleto.
Portando complementando, o meu server trabalha com a versão 2 do ISAPI.
>
>
Me mostre como ficou seu .htaccess, e me indique as url reais.
Segue Patrique. Obrigado pela ajuda.
.htacess
RewriteEngine on
RewriteRule busca/([0-9]+)/ /teste.asp?id=$1
RewriteRule busca/([0-9]+) /teste.asp?id=$1
http://www.criativeagencia.com.br/rewrite/teste-link.asp
<%
Function FormataUrl(ByVal Texto)
FormataUrl = Replace(Replace(LCase(Texto), " ", " "), "\'", "")
FormataUrl = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(FormataUrl, " ", "-"), "á", "a"), "é", "e"), "í", "i"), "ó", "o"), "ú", "u"), "ã", "a"), "â", "a"), "à", "a"), "ê", "e"), "ô", "o"), "ç", "c"), "/", ""), "'", ""), """", ""), "[", ""), "]", ""), "&", "-"), "#", ""), "+", ""), "{", ""), "}", ""), "ù", "u"), "ò", "o"), ".", ""), "?", ""), "!", ""), ":", ""), "´", ""), "`", ""), "õ", "o"), "\", "")
FormataUrl = Replace(Replace(Replace(FormataUrl, "û", "u"), "¢", "c"), "¡", "i")
FormataUrl = Replace(Replace(Replace(FormataUrl, "£", "e"), "¤", ""), "¥", "y")
FormataUrl = Replace(Replace(Replace(FormataUrl, "¦", ""), "ª", "a"), "æ", "ae")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "ë", "e"), "ì", "ì"), "ð", "o"), "Ä", "a")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "ñ", "n"), "ø", "o"), "ý", "y"), " ", " ")
FormataUrl = Replace(Replace(Replace(Replace(FormataUrl, "þ", "p"), "€", "e"), "ÿ", "y"), "²", "z")
FormataUrl = Replace(FormataUrl, "%", "")
FormataUrl = Replace(FormataUrl, "---", "-")
End Function
idnoticia = 1
titulonoticia = "Patrique é o cara mais gostoso deste fórum"
Response.Write("<a href=""/posts/"& idnoticia &"-"& FormataUrl(titulonoticia) &""">"& titulonoticia &"</a>")
%>
http://www.criativeagencia.com.br/rewrite/teste.asp
<%
id = request.querystring("id")
Response.Write("O id chamado é: "& id &"")
%>
Veio da uma olhada nesse tuto da Locaweb fala tudo sobre que você quer Clique aqui espero que seja isso abraço qualquer duvida posta ai