Ir para conteúdo

POWERED BY:

Arquivado

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

David Borges

www.url.com.br/nomedousuario

Recommended Posts

pessoal, andei buscando pela net mas não achei nada conclusivo sobre este assunto.

 

estou à procura de uma forma de capturar o usuário digitado na url, porém a única forma que vi pela net aborda a utilização da página 404.html para captura dessa informação e redirecionamento para outra página com uma querystring embutida.

 

gostaria de saber se há alguma outra forma de fazer essa captura.

 

Obrigado!! :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

David, há sim. Desculpe-me quem usa, mas essa forma de usar a página 404 não passa de uma gambiarra e foi criada pois até algum tempo atrás o IIS não oferecia qualquer tipo de forma de reescrever URLs em ASP. Hoje existe o ISAPI Rewrite, que reescreve as URLs através de Expressão Regular (Regex).

 

Primeiro, entre em contato com sua hospedar ou seu servidor e veja se dão suporte ao ISAPI Rewrite. Se sim, comece a estudar sobre como reescrever. A forma que uso é a criação de um arquivo chamado .htaccess (isso mesmo... começa com um ponto) e lá dentro ativo a função do Rewrite e dou minhas condições de reescrita de URLs para torná-las amigáveis, como é seu caso... ou seja, no seu caso, você apenas falaria nesse arquivo para que páginas www.url.com.br/nomedousuario fosse redirecionada para www.url.com.br/pagina.asp?usuario=nomedousuario.

 

Dê uma busca rápida sobre o que te falei no Google que você vai achar boas referências.

Compartilhar este post


Link para o post
Compartilhar em outros sites

David, há sim. Desculpe-me quem usa, mas essa forma de usar a página 404 não passa de uma gambiarra e foi criada pois até algum tempo atrás o IIS não oferecia qualquer tipo de forma de reescrever URLs em ASP. Hoje existe o ISAPI Rewrite, que reescreve as URLs através de Expressão Regular (Regex).

 

Primeiro, entre em contato com sua hospedar ou seu servidor e veja se dão suporte ao ISAPI Rewrite. Se sim, comece a estudar sobre como reescrever. A forma que uso é a criação de um arquivo chamado .htaccess (isso mesmo... começa com um ponto) e lá dentro ativo a função do Rewrite e dou minhas condições de reescrita de URLs para torná-las amigáveis, como é seu caso... ou seja, no seu caso, você apenas falaria nesse arquivo para que páginas www.url.com.br/nomedousuario fosse redirecionada para www.url.com.br/pagina.asp?usuario=nomedousuario.

 

Dê uma busca rápida sobre o que te falei no Google que você vai achar boas referências.

 

Nossa... to voltando ao Isapi...

 

Entendi a lógica Cesão, inclusive tenho o isapi instalado no server e está funcionando certinho com uma expressão que tira o .asp do título da página..

 

Sobre o /nomedousuario, estou tendo uma certa dificuldade para implementar.... tem como me passar algum exemplo ou algum site onde eu possa dar uma olhada??

 

Sobre o tutorial da Locaweb, já li, mas não consegui achar uma forma de fazer o que preciso...

 

Obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, consegui deixar assim:

 

RewriteRule empresa/(.*) pagina.asp?usuario=$1

 

www.meusite.com.br/empresa/filialdojose

 

mas preciso que fique:

 

www.meusite.com.br/filialdojose

 

Alguém pode me ajudar com essa expressão?

 

Tentei também:

 

RewriteRule (.*) pagina.asp?usuario=$1

 

mas não deu certo... qndo dou request.querystring("usuario") na pagina.asp ele me retorna "pagina.asp"...

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este link

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum, beleza?

 

cara.. esse link é muito vago e não contempla o que preciso...

 

No meu post eu até coloquei q já li o wiki da locaweb mas não resolveu...

 

meu problema continua.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O xanburzum insiste em sempre colocar essa url ao usuário que esta com dúvidas em rewrite, e sempre é a mesma resposta... essa url não ajuda em nada... além de esta com erros é totalmente desatualizada e fora dos padrões Rewrite, portanto xanburzum, pare com isso, se não tem a resposta simplesmente não responda, pois na maioria das vezes você prejudica ainda mais as dúvidas, sem contar que a única coisa que parece que você sabe ou conhece de rewrite é essa url da locaweb.

 

-------------------

 

David Borges, como você me ajudou no outro tópico, aqui esta a solução.

 

RewriteEngine on

RewriteCond %{SCRIPT_FILENAME} -f [OR]
RewriteCond %{SCRIPT_FILENAME} -d
RewriteRule .* - [L]
RewriteRule ^(.*)$ /pagina.asp?usuario=$1 [L,NC]

 

Att.: Caio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caio, vlw pela ajuda, mas veja... qndo eu dou um <%=request.QueryString("usuario")%> dentro da página pagina.asp, ele me retorna pagina.asp.

 

Pode ver que até tinha conseguido um resultado semelhante com

RewriteRule (.*) pagina.asp?usuario=$1

...

 

Se quiser testar o que to falando... segue o link

 

é o teste que estou fazendo...

 

será que o problema está no request que estou fazendo?? estou fazendo um request simples... veja abaixo...

 

<%@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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<%=request.QueryString("usuario")%>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

... existem vários ótimos links , só fazer uma busca

este link é um dos mais básicos, consulte o link do próprio ISAPI

além de ter inúmeras soluções no fórum...

Compartilhar este post


Link para o post
Compartilhar em outros sites

é ele todo.. só tenho essa regra

 

RewriteEngine on

RewriteCond %{SCRIPT_FILENAME} -f [OR]
RewriteCond %{SCRIPT_FILENAME} -d
RewriteRule .* - [L]
RewriteRule ^(.*)$ /pagina.asp?usuario=$1 [L,NC]

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta testando localmente ou pelo servidor?

 

EDITADO

 

Acabei de testar aqui no meu server e realmente não ta dando certo, vou continuar fazendo testes aqui pra ver se acho uma solução, já fiz uma vez isso, achava que era dessa maneira, mais não foi rs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

putz Caio... show de bola cara... muito obrigado cara!! Vou dar uma estudada na forma que você fez pra pegar o jeito da coisa.

 

Pessoal, comecei a usar o ISAPI há pouco tempo por conta de SEO, e sei o quanto é difícil achar material atualizado e de boa qualidade sobre esse assunto.

 

Sendo assim, seguem os links e passos que juntei sobre esse assunto, espero que ajude quem precisar.

 

 

Download do ISAPI Rewrite 3: http://www.helicontech.com/download-isapi_rewrite3.htm

A instalação é sussa, baixou, intalou e usou!

 

Primeiro teste para saber se o componente foi instalado com direitinho:

Dentro da pasta raiz do seu site, crie um arquivo .htaccess, nele coloque o código abaixo e salve.

RewriteEngine on

#Redirect extension requests to avoid duplicate content
RewriteRule ^([^?]+)\$ $1 [NC,R=301,L]

#Internally add extensions to request
RewriteCond %{REQUEST_FILENAME}.asp -f 
RewriteRule (.*) $1.asp

Em seguida, crie uma página chamada index.asp.

O resultado disso é que tanto acessando com index.asp ou apenas index ele vai abrir a mesma página, a index.asp.

 

ATENÇÃO, O TESTE QUE ESTÁ NO SITE DA LOCAWEB NÃO FUNCIONA!! ESTÁ ERRADO!!!

 

 

 

Testado localmente, ok!! Agora teste no server da Web.

Caso não funcione, não entre em pânico, muitos servidores de hospedagem exigem que o componente ISAPI REWRITE seja ativado.

Em alguns casos essa ativação pode ser feita pelo painel de controle da sua hospedagem, mas caso não encontre essa opção, entre em contato com a Central de Ajuda do server, eles também podem ativar manualmente para você!

 

Caso seu server responda que não tem esse componente instalado, ferrou! Não tem como usar! Melhor trocar de server.

 

Bom, testado localmente e na web, agora você precisa configurar para suas urls.

Além desse post que o Caio ajudou a resolver, você usar o GERADOR DE REGRAS PARA O REWRITE que encontrei no link http://rapid.searchmetrics.com/en/seo-tools/miscellaneous/url-rewrite,44.html.

 

Nesse gerador, você coloca sua URL com todas as variáveis ex: http://www.meusite.com.br/noticia.asp?id_noticia=23&noticia=David e ele te retorna a expressão que você precisa colocar no .htaccess.

 

Muito útil para iniciantes!!

 

Certo, expressões regulares criadas, mas você precisa entender esse monte de sinais, afinal vai que o cliente te pede para colocar uma barra no lugar do ponto, ou trocar a ordem da URL, enfim, nunca se sabe...

Portanto sugiro que comece por esse link: http://guia-er.sourceforge.net/index.html

 

É um guia rápido sobre expressões regulares, foi muito útil para mim!!

 

Pessoal, não sou autoridade nesse assunto, estou apenas passando o pouco que sei! Portanto se errei em algum ponto ou esqueci de comentar algo, por favor, me corrijam.

 

E é isso... espero que ajude alguém!! :joia:

 

E Caio, novamente obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este link

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que foi resolvido David.

 

Faltou uma coisinha lá, deixe seu rewrite assim:

 

RewriteEngine On

RewriteCond %{SCRIPT_FILENAME} -f [OR]
RewriteCond %{SCRIPT_FILENAME} -d
RewriteRule .* - [L]
RewriteRule ^([^.]+)$ pagina.asp\?usuario=$1

 

Desta forma o sistama ira identificar as pastas das não pastas, da maneira anterios ele levava em conta até as pastas com isso pastas internas seriam exibidas no pagina.asp, desta forma ficara correta a instrução rewrite.

 

-------

 

Rewrite não é um bicho de 7 cabeças, pelo contrário, é muito mais fácil do que muitos imaginam.

 

Este artigo aqui é bem bacana para quem esta iniciando: http://diegosanches.wordpress.com/2010/10/12/isapi-rewrite-com-asp-classico-3/

 

Porém tenho que falar, que sou totalmente contra a quem esta começando, aprender sobre rewrite 3, sendo que os servidores windows server 2008 utiliza rewrite 4, que é totalmente diferente, e tem como arquivo configurativo o web.config e não mais o .htaccess as regras para a criação são diferenciadas, porém a lógica regex se mantém, mais acaba confundindo.

 

Eu por exemplo testo minhas aplicações em um windows 7 que tem o iis 7.5 instalado, e nele querendo ou não tive que colocar o rewrite 4.

 

Sem contar que os servidores novos não mais suportam rewrite 3 e anteriores.

 

Portanto eu aconselho a quem estiver começando, a começar pelo rewrite 4 e não os antecessores, isso por que querendo ou não uma hora vocês terão que migrar para rewrite 4.0 e terão um belo trabalho.

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.