Pergunta

Mencionado StackOverflow apenas como exemplo, mas se você olhar acima do URL para perguntar

http://stackoverflow.com/questions/ask

O que significa /pergunta é um subdiretório, mas eles também fazem isso para as páginas de perguntas específicas. Como você codifica isso no .net?

Não é uma questão de código tanto quanto uma técnica. Eu sei que isso é ótimo para o SEO, mas como você cria um site para que cada "página" seja seu próprio diretório? Dinamicamente.

Você tem um modelo ou um redirecionamento oculto ???

Quão?? :)

Foi útil?

Solução

É denominado reescrita de URL:

URL reescrevendo com asp.net

MSDN: URL Reescrevendo em Asp.net

EDITAR: Como @Justice aponta, o StackOverflow usa Roteamento.

Outras dicas

O StackOverflow usa algo chamado roteamento, que vem com o .NET 3.5 SP1. O roteamento é uma característica popular de várias estruturas de MVC, como asp.net MVC, Ruby on Rails e várias estruturas Python e PHP.

O Stack Overflow foi construído usando o ASP.NET MVC, que usa uma técnica chamada roteamento, consulte:

Com o que foi construído com o que foi construído?

e Roteamento

Usos sobreflow de pilha ASP.NET MVC

O MVC usa a sequência de consulta URL + para determinar o conteúdo, portanto não é como um URL que aponta para uma página específica, mas mais como um caminho hierárquico para as propriedades de alguns dados a serem exibidos

POR EXEMPLO https://stackoverflow.com/users/ Ohput ID do usuário aqui]/[Coloque o nome de usuário aqui

solicita o site a exibir um usuário com um ID especificado no caminho (neste caso, o nome do usuário provavelmente é apenas para chutes) em oposição a uma página específica criada apenas para esse usuário.

Eu vi isso realizado simplesmente criando uma pasta para todas as páginas da web e depois que cada pasta contenha um documento padrão.aspx (assumindo que o padrão.aspx seja configurado como um documento padrão no IIS, que é por padrão). Em seguida, você pode navegar para qualquer pasta no site sem especificar a página (default.aspx).

Para a parte dinâmica, trabalhei com os sistemas CMS que o fazem dessa maneira e a página padrão.aspx simplesmente herda de algum modelo mestre e o sistema CMS utiliza a renderização do ASP.NET Enginge para concluir dinamicamente a página da web.

O uso de pastas pode ser um pouco pesado com a estrutura do site, mas é uma maneira fácil de eliminar os nomes das páginas do navegador.

É assim que estruturo meu site e evito ter que usar nomes de páginas ... por exemplo http://www.innovaapps.net/blog Simplesmente traz a página padrão.aspx sem precisar especificar o nome da página.

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