2009-03-03 7 views
5

Erwähnt Stackoverflow nur als Beispiel, aber wenn man über die URL sucht fragen istASP.NET-Webseiten ohne Namen, wie Stackoverflow?

http://stackoverflow.com/questions/ask 

was bedeutet/bitten um ein Unterverzeichnis ist, aber sie tun dies auch für die spezifischen Fragenseiten. Wie kodieren Sie das in .NET?

Keine Code Frage so viel wie eine Technik. Ich weiß, das ist großartig für SEO, aber wie erstellt man eine Website, so dass jede "Seite" ein eigenes Verzeichnis ist? Dynamisch.

Haben Sie eine Vorlage oder eine versteckte Umleitung ???

Wie ?? :)

Antwort

10

Es bezeichnet URL-Rewriting:

Url Rewriting with ASP.NET

MSDN: URL Rewriting in ASP.NET

EDIT: Wie @Justice weist darauf hin, Stackoverflow Routing verwendet.

+0

Wenn Sie Downvote werden, wie wäre es mit einem Kommentar, warum? –

+0

Ich habe gewählt, weil Sie der einzige mit der richtigen Antwort sind –

+0

Ich habe Sie auch upvoted. Was ist mit diesen dummen Antworten darüber, womit SO gebaut wurde? Ihre Antwort beantwortet direkt die Fragen. – mezoid

1

Stack-Überlauf verwendet ASP.net MVC

MVC die URL + Abfrage-Zeichenfolge verwendet den Inhalt zu bestimmen, so dass sie nicht eine URL wie die auf eine bestimmte Seite verweist, sondern eher wie ein hierarchischer Pfad zu den Eigenschaften einiger Daten angezeigt werden

EG https://stackoverflow.com/users/[Put Benutzer-ID hier]/[Benutzernamen hier eingeben]

fordert die Website auf, einen USER mit einer im Pfad angegebenen ID anzuzeigen (in diesem Fall ist der Benutzername wahrscheinlich nur für Tritte), im Gegensatz zu einer bestimmten erstellten Seite nur für diesen Benutzer.

+0

Das Plakat fragte nicht, was SO geschrieben wurde. –

5

Stack-Überlauf wurde mit ASP.NET MVC gebaut, die eine Technik namens Routing verwendet, finden Sie:

What Was Stack Overflow Built With?

und Routing

+0

-1 Sie haben den Punkt der Frage völlig verpasst. Er fragte nicht, wie SO gebaut wurde ... Tatsächlich wird ausdrücklich gesagt, dass SO nur als Beispiel dient. Seine Frage ist, wie man die URL so umschreibt, dass sie aussieht als wäre es ein Verzeichnis ... und die einzige richtige Antwort ist bisher von Mitch. – mezoid

+0

OK, meine Antwort ist nicht so vollständig wie die von Mitch und erwähnt Routing nicht wie in Justice, aber es beantwortet immer noch die Frage, wie man (zumindest auf eine Weise) eine Site erstellen kann, so dass jede Seite ein eigenes Verzeichnis ist " – mundeep

6

Stackoverflow verwendet etwas Routing genannt, die mit .NET 3.5 SP1 kommt . Routing ist ein beliebtes Feature einer Reihe von MVC-Frameworks wie ASP.NET MVC, Ruby on Rails und einer Reihe von Python- und PHP-Frameworks.

1

Ich habe gesehen, wie dies erreicht wird, indem einfach ein Ordner für jede Webseite erstellt wird und jeder Ordner ein Default.aspx-Dokument enthält (vorausgesetzt, dass Default.aspx als Standarddokument in IIS eingerichtet ist, was es standardmäßig ist). Sie können dann zu einem beliebigen Ordner auf der Site navigieren, ohne die Seite anzugeben (Default.aspx).

Für den dynamischen Teil habe ich mit CMS-Systemen gearbeitet, die dies tun und die Default.aspx-Seite erbt einfach von einigen Master-Vorlage und das CMS-System nutzt die ASP.NET-Rendering engine, um die Webseite dynamisch zu vervollständigen.

Die Verwendung von Ordnern kann ein wenig schwer mit der Struktur der Website sein, aber es ist eine einfache Möglichkeit, die Seitennamen aus dem Browser zu entfernen.

So strukturiere ich meine Website und erübrige die Verwendung von Seitennamen ...Zum Beispiel öffnet http://www.innovaapps.net/Blog einfach die default.aspx-Seite, ohne den Seitennamen angeben zu müssen.