Ir para conteúdo

POWERED BY:

Arquivado

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

atila_developer

URL Amigavel

Recommended Posts

Amigos boa tarde!

 

Atualmente utilizo uma solução para url amigavel que visa global.asax só que não se torna muito viavel, pois como pego a url tenho que fazer varios if, para antes de fazer o rewrite.

 

Já vi que tem como fazer pelo IIS dei uma lida já, mais não consegui executar será que alguem poderia me mostrar algum codigo ou indicar alguma video aula ou artigo bom?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este tópico

Compartilhar este post


Link para o post
Compartilhar em outros sites

se o seu servidor de hospedagem tiver a opção de página de erro personalizado, crie uma para o erro 404 com este código:

<%
Dim parametros 'ira guardar os parametros passados
parametros = Split(Request.ServerVariables("QUERY_STRING"),"/")
nome = parametros(3)
%>

 

só fazer uma pesquisa com a variavel 'nome' e boa sorte.

espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para C# poste no fórum de .Net, mas ai vai um exemplo:

 

URL amigável, também conhecida como Friendly URL, é como são chamados os endereços web que são facilmente compreendidos por nós e também aos sistemas de buscas, permitindo saber quase a 100% o assunto da página que está visitando.

 

Segundo especialistas, o Google indexa mais facilmente uma página com URL amigável.

Hoje em dia o uso de URL amigáveis em sites/blogs é frequente. As URLs amigáveis são uma das muitas estratégias incluídas no SEO (Search Engine Optimization).

 

As URLs amigáveis têm como vantagem uma maior usabilidade, por serem fáceis de lembrar e por terem sua manutenção barata, caso queira trocar a tecnologia de seu site.

 

Exemplos de URL amigável:

 

http://www.seusite.com.br/produto

http://www.seusite.com.br/hospedem_de_sites

Exemplo de URLs não amigáveis:

 

http://www.seusite.com.br/produto.aspx?cd=1

http://www.seusite.com.br/hospedagemdesites.aspx

 

Criando Nosso Projeto no ASP.NET:

 

Abra o Visual Studio e crie um novo projeto, conforme figura 01.

 

figura01-300x178.png

Figura 01 – Criando novo Projeto no Visual Studio 2010.

 

Na figura 02 iremos criar um projeto em branco (Blank Solution), e daremos um nome de “UrlAmigavel” a essa solução e clique no botão OK.

 

figura02-300x207.png

 

Figura 02 – Definindo o nome do nosso projeto

 

Com nosso projeto criado, conforme figura02, vamos adicionar uma aplicação Asp.Net, daremos o nome de “Web.UrlAmigavel”.

 

figura03-300x207.png
Figura 03 – Criando uma aplicação web

 

O nosso projeto terá o visual abaixo da figura 04, é um visual simples para que possamos demonstrar como funcionam as urls amigáveis. Nesse exemplo eu adicionei:

  1. Master Page
  2. Página de Produto
  3. Página de contato

Na master page eu coloquei um HyperLink chamado “lnkhome” para chamar a página principal (default.aspx), um HyperLink chamado “lnkproduto” que vai chamar a página “produto.aspx?cd=1” e o HyperLink chamado “lnkcontato” que irá chamar a página contato.aspx.

 

<%@ Master Language=”C#” AutoEventWireup=”true” CodeBehind=”Principal.master.cs”

Inherits=”Web.UrlAmigavel.Principal” %>

<!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 runat=”server”>

<title></title>

<asp:ContentPlaceHolder ID=”head” runat=”server”>

</asp:ContentPlaceHolder>

</head>

<body>

<form id=”form1″ runat=”server”>

<div>

<strong>URL amigável no Asp.Net 4.0 e C#.</strong>

<br />

<br />

<asp:HyperLink ID=”hlkHome” runat=”server” Text=”Home” NavigateUrl=”#”/>   

<asp:HyperLink ID=”hlkProduto” runat=”server” Text=”Produto” NavigateUrl=”#”/>   

<asp:HyperLink ID=”hlkContato” runat=”server” Text=”Contato” NavigateUrl=”#”/>

<br />

 <asp:ContentPlaceHolder ID=”ContentPlaceHolder1″ runat=”server”>

</asp:ContentPlaceHolder>

</div>

</form>

</body>

 

</html>

 

figura04-300x184.png

Figura 04 – Layout do projeto

 

Nosso objetivo é colocar URLs amigáveis nesses links, ficando assim:

 


URLs não amigáveis
URLs amigáveis produto.aspx?cd=1 notebook-acer contato.aspx entre-em-contato default.aspx pagina-principal

 

Antes de iniciarmos a codificação precisamos colocar a tag <urlMappings> dentro da tag <system.web>, ficando assim nosso webconfig:

<configuration>

<system.web>

<compilation debug=”true” targetFramework=”4.0″ />

<urlMappings>

</urlMappings>

</system.web>

</configuration>

 

Agora sim, vamos iniciar a codificação criando uma classe chamada urlamigavel.cs. Dentro dessa classe vamos criar um método chamado AdicionarUrlAmigavel, a função desse método é gravar no web config dentro das tags <urlMappings></urlMappings> as configurações das URLs, segue código do método AdicionarUrlAmigavel.

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Configuration;

using System.Configuration;

namespace Web.UrlAmigavel

{

public class urlamigavel

{

public void AdicionarUrlAmigavel(string UrlAmigavel, String NomePagina)

{

UrlMapping urlMap = null;

// Abre o Web.config

Configuration config = WebConfigurationManager.OpenWebConfiguration(“~”);

// Recupera a seção urlMappings, do web.config

UrlMappingsSection urlMapSection = (UrlMappingsSection)config.GetSection(“system.web/urlMappings”);

// Adiciona a URL Amigável a seção, que é salva no Web.Config

urlMap = new UrlMapping(“~/” + UrlAmigavel, NomePagina);

urlMapSection.UrlMappings.Remove(urlMap);

urlMapSection.UrlMappings.Add(urlMap);

// Grava no web.config

config.Save();

}

}

}

 

Vamos agora chamar esse método dentro do Page_Load da MasterPage:

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using Web.UrlAmigavel;

namespace Web.UrlAmigavel

{

public partial class Principal : System.Web.UI.MasterPage

{

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

urlamigavel UrlAmigavel = new urlamigavel();

UrlAmigavel.AdicionarUrlAmigavel(“notebook-acer”, “produto.aspx?cd=1″);

hlkProduto.NavigateUrl = “~/notebook-acer”;

UrlAmigavel.AdicionarUrlAmigavel(“entre-em-contato”, “contato.aspx”);

hlkContato.NavigateUrl = “~/entre-em-contato”;

UrlAmigavel.AdicionarUrlAmigavel(“pagina-principal”, “default.aspx”);

hlkHome.NavigateUrl = “~/pagina-principal”;

UrlAmigavel = null;

}

}

}

}

 

Execute o projeto e clique nos links que foram adicionados, você verá que as URLs agora estão amigáveis. Vamos ver também como ficou no webconfig, após executar o projeto e clicar nos links:

 

<?xml version=”1.0″?>

<!–

For more information on how to configure your ASP.NET application, please visit

http://go.microsoft.com/fwlink/?LinkId=169433

–>

<configuration>

<system.web>

<compilation debug=”true” targetFramework=”4.0″ />

<urlMappings>

<add url=”~/notebook-acer” mappedUrl=”produto.aspx?cd=1″ />

<add url=”~/entre-em-contato” mappedUrl=”contato.aspx” />

<add url=”~/pagina-principal” mappedUrl=”default.aspx” />

</urlMappings>

</system.web>

</configuration>

 

Link Home: http://localhost:7921/pagina-principal

 

figura05-300x144.png

Link Produto: http://localhost:7921/notebook-acer

figura06-300x144.png

 

Link Contato: http://localhost:7921/entre-em-contato

 

figura07-300x144.png

 

O artigo explica de forma clara e objetiva como tratar URLs para que elas se tornem amigáveis para usuários e também para os mecanismos de busca (SEO).

 

Fonte: http://www.vbma.com.br/_blog/url-amigavel-no-asp-net-4-0-e-c/#.UPvPXfLk-Sp

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para URL amigável eu utilizo o URLMappings no web.config:

<system.web>
  <urlMappings enabled="true">
      <add url="~/urlAmigavel.aspx" mappedUrl="oldforms/enderecoUrl.aspx"/>
  </urlMappings>
</system.web>

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.