Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, já pesquisei o dia todo, testei códigos:
http://www.ecode10.c...rariamente.aspx
http://www.thiagorog...l-em-ASPNet.asp
mas não consigo fazer uma url localhost:2084/default.aspx?id=12121&cat=1212 virar algo do tipo localhost:2084/default/1212/12121.aspx
Li que o ISS pode influenciar, mas se fosse o caso, como o cara de um dos artigos ai roda o exemplo na porta 33432(o que entendo que ele não está rodando pelo ISS). Vi exemplos usando o webconfig, mas nada funcionou.
Alguma ideia?
Grato.
Ok. Assim que der para dar uma parada esse fim de semana ou na segunda vou ver melhor, mas só para adiantar, a questão de abrir o site no ISS ou simplesmente no System File pode influenciar pra não funcionar?
arrumei uma dll, e puis os seguintes pedaços de código no web.config:
<configSections>
<section name="rewriter"
requirePermission="false"
type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
</configSections>
<httpModules>
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
</httpModules>
<rewriter>
<rewrite url="~/post/categoria/(.+)" to="~/post.aspx?intidcategoria=$1"/>
</rewriter>
Até então estava querendo fazer a URL localhost://post.aspx?intidcategoria=2211 virar localhost://post/categoria/2211
mas percebi que não daria certo, que essa segunda url não existe de verdade(sei lá, achava que só mudava a barra de endereço), fiz uma hora o seguinte:
<rewrite url "~/post.aspx?intidcategoria=$1" to="~/post/categoria/(.+)"/>
a vi que redirecionou para uma página que não existe, mas beleza, ai mudei a forma de gerar os links do menu
o problema agora é que o css vai pro espaço, não tá adiantando passar ~/ nos caminhos]
ele tá querendo jogar o css assim: localhost:2084/post/categoria/App_Themes/Theme/default.css
na verdade deveria ser assim: localhost:2084/App_Themes/Theme/default.css
Muda o caminho de todos seus arquivos de "~/" pra "/".
Exemplo:
de ~/App_Themes/Theme/default.css
para /App_Themes/Theme/default.css
Faça isso com as imagens tb, e com imagens usadas como back-groud no CSS, dai vai funcionar tudo.
legal, deu certo. valeu
galera, agora o problema é na hora de publicar o site, na minha máquina, no localhost porta qualquer funciona legal, agora não redireciona os links no www, e já joguei a dll na pasta bin, e mudei o webconfig.
Alguma ideia?
Por que não quer funcionar? Qual erro ocorre?
Dá esse erro:
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Agora fico na dúvida se a dll que não está funcionando, ou se ela está redirecionando diferente no www. ai dando endereço inválido.
Cara deve esta faltando algo na sua aplicação, por que erro 404 é de não localização do arquivo aspx.
os arquivos estão de boa, quando tento inserir as querystring na mão na barra de endereço entra na página, agora ou tá zuado minha regra que nao quer funcionar no servidor ou nem tá passando por ela, segue como estou usando:
<rewriter>
<rewrite url="~/categoria/(.+)/(.+)" to="~/post.aspx?intidcategoria=$1"/>
<rewrite url="~/post/(.+)/(.+)/(.+)" to="~/post.aspx?intidcategoria=$1&intidpost=$2"/>
<rewrite url="~/default/(.+)" to="~/default.aspx?strdata=$1"/>
</rewriter>Achei o rewrite 2.0, que é instalado no próprio iis.
imagem do iss com o rewrite: https://docs.google.com/leaf?id=0B5pgNzNT1AK-NGY2M2VhOTctZTExZC00MjhjLThmZTgtYTY0ZWY2N2E0NWMx&hl=pt_BR&authkey=CPzRhdME
ele está funcionado, mas tipo, na primeira vez entra:
localhost/blog/categoria/4/conforto-esta-na-moda
e na segunda:
localhost/blog/categoria/4/categoria/2/dicas-do-sapato-confortavel
nao está 'limpando'
o link é :
<a href="categoria/<%# DataBinder.Eval(Container.DataItem, "INTIDCATEGORIA")%>/<%#DataBinder.Eval(Container.DataItem, "STRDESCRICAOURL")%>"><%# DataBinder.Eval(Container.DataItem, "STRDESCRICAO")%></a>
já tentei começar com <a href="/categoria
mas dá erro. alguém sabe trabalhar com esse cara?
tenta:
<a href='<%# string.Format("/categoria/{0}/{1}", Eval("INTIDCATEGORIA"), Eval("STRDESCRICAOURL") ) %>'><%# Eval("STRDESCRICAO") %></a>
já estou quase desistindo, quando consigo usando a dll intelligencia nao consigo fazer ela rodar no iis, agora com esse cara rodo no iis mas não consigo 'apagar' a duplicação com aquele /
isso é o que tá no iis
pattern:
categoria/([0-9]+)/([_0-9a-z-]+)
rewrite url:
post.aspx?intidcategoria={R:1}
tou ferrado
Cara com esse URL no IIS não tem problema nao, é facin, essa regra ai esta no seu web.config. e tem q funcionar. ja usei em N projetos!
está funcionado, mas o link vai aumentando conforme vou clicando em mais categorias. e quando passo / no começo para nao dar esse problema não acha a página. reparei que acontece algo do tipo quando passo a barra: ai página está localhost/blog/, o link está localhost/categoria.... perdeu o blog, acho que por isso não tá achando a página.
Tenta:
pattern:
~/categoria/([0-9]+)/([_0-9a-z-]+)
rewrite url:
~/post.aspx?intidcategoria={R:1}
achei uma forma de resolver meu problema, passando links completos, por exemplo "http://localhost/teste" ou "http://meusite.com.br/teste", mas para isso precisaria guardar no webconfig uma tag <url>, ai na hora de montar os links concatenava o valor de <url>, mas não sei como fazer isso no código aspx.
Resolvi o problema deixando uma tag no webconfig com "http://localhost/blog/" e quando for publicar é só mudar pro endereço do site:
link:
<a href="<%= System.Configuration.ConfigurationManager.AppSettings["url"] %>categoria/<%# DataBinder.Eval(Container.DataItem, "INTIDCATEGORIA")%>/<%#DataBinder.Eval(Container.DataItem, "STRDESCRICAOURL")%>"><%# DataBinder.Eval(Container.DataItem, "STRDESCRICAO")%></a>
No iis:
pattern: categoria/([0-9]+)/([_0-9a-z-]+)
rewrite url: post.aspx?intidcategoria={R:1}
Faz um tempão que esse tópico está aberto. Na verdade já até resolvi esse problema e já domino a técnica de url amigavel, mas não estou usando url rewrite nem ddl alguma, estou fazendo através do Global.asax. Aconselho trabalhar com ele.
Murilo, você pode tem n opções.
com base nesses tutoriais ai você deve ter problemas com o caminho dos arquivos... Já apanhei basntannte.
A MS tem um componente URL Rewrite proprio que instala no servidor e fica tudo mais facil, bastando você crias suas regras no web.config.
Se você trabalhar com MVC as URL já são amigáves.
Mas se realmente você precisar usar webforms, vai postanto seus codigos que nós ajudamos.!