Pergunta

Eu adicionei UrlRewriter.net para o meu site hoje e ele funciona muito bem com redirecionando meus links de SEO para páginas reais. A questão é se há alguma maneira de manter meus antigos vínculos no site e ter ResolveUrl () usando as regras para links de saída em minha página. Os links "velhas" nunca deve ser visto por qualquer robôs de busca ou usuários.

Exemplo link na página:

<a href="<%= ResolveUrl("~/Help.aspx") %>">Help</a>

Eu adicionei o código de reescrita como este no web.config:

<rewrite url="~/help" to="~/help.aspx" />
<rewrite url="~/help/(.+)" to="~/help.aspx?section=$1" />

Em primeiro lugar seria ótimo ter as ligações prestados sem qualquer trabalho extra como MVC tem. O segundo melhor é se existe uma maneira agradável para apenas adicionar regras para "o outro lado", bem na lista de reescrita.

Isto também permitiria me para ligar easally / desliga o redirecionamento quando a depuração.

Foi útil?

Solução

Ok. Implementei o tecnique Routing usado em MVC roteamento em meus web.forms vez que me permitiu usar o código abaixo:

ASPX:

<%= Url.RouteUrl("article", new { name="my-name-for-artcile"}) %>

e registrar todas as rotas em um lugar como:

routes.MapWebFormRoute("articles", "artiklar", "~/articles.aspx");

Eu usei o código de Phil Haack feitas sobre Webform roteamento , mas modificou-lo em uma pequena maneira de fazê-lo funcionar com páginas mestras e também som web.config settigns para fazê-lo funcionar sem problemas no servidor com URLs não aspx.

http: // blog. joakimfischer.se/post/2009/11/08/Web-Form-Routing.aspx

Agora, ele funciona como pretendido, mas parei usando UrlRewriter.net para obter a funcionalidade que eu queria.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top