Domanda

Stackoverflow citato solo come esempio, ma se si guarda sopra l'URL per ask è

http://stackoverflow.com/questions/ask

che significa / ask è una sottodirectory, ma lo fanno anche per le pagine delle domande specifiche. Come si codifica questo in .NET?

Non è una domanda di codice tanto quanto una tecnica. So che questo è ottimo per la SEO, ma come si crea un sito in modo che ogni pagina " è la sua directory? Dinamicamente.

Hai un modello o un reindirizzamento nascosto ???

Come ?? :)

È stato utile?

Soluzione

Si chiama riscrittura URL:

Url Riscrittura con ASP.NET

MSDN: riscrittura URL in ASP.NET

EDIT : come sottolinea @Justice, StackOverflow utilizza Routing .

Altri suggerimenti

StackOverflow utilizza qualcosa chiamato Routing, fornito con .NET 3.5 SP1. Il routing è una caratteristica popolare di numerosi framework MVC, come ASP.NET MVC, Ruby on Rails e numerosi framework Python e PHP.

Stack Overflow è stato creato utilizzando ASP.NET MVC che utilizza una tecnica chiamata Routing, vedi:

Con cosa è stato costruito Stack Overflow?

e Routing

Stack Overflow usa ASP.net MVC

MVC utilizza l'URL + Query String per determinare il contenuto, quindi non è come un URL che punta a una pagina specifica, ma più come un percorso gerarchico per le proprietà di alcuni dati da visualizzare

es. https://stackoverflow.com/users/[Put ID utente qui] / [Inserisci qui il nome utente]

richiede al sito Web di visualizzare un USER con un ID specificato nel percorso (in questo caso il nome utente è probabilmente solo per i calci) rispetto a una pagina specifica creata solo per quell'utente.

L'ho visto realizzato semplicemente creando una cartella per ogni pagina Web e facendo in modo che ogni cartella contenga un documento Default.aspx (Supponendo che Default.aspx sia impostato come documento predefinito in IIS, che è per impostazione predefinita). Quindi puoi navigare in qualsiasi cartella del sito senza specificare la pagina (Default.aspx).

Per la parte dinamica, ho lavorato con i sistemi CMS che lo fanno in questo modo e la pagina Default.aspx eredita semplicemente da un modello principale e il sistema CMS utilizza il rendering ASP.NET per completare dinamicamente la pagina Web.

L'uso delle cartelle può essere un po 'pesante con la struttura del sito, ma è un modo semplice per eliminare i nomi delle pagine dal browser.

È così che strutturo il mio sito Web ed evito di usare i nomi di pagina ... ad esempio http: // www.innovaapps.net/Blog visualizza semplicemente la pagina default.aspx senza dover specificare il nome della pagina.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top