Вопрос

Упомянут stackoverflow только в качестве примера, но если вы посмотрите выше, URL для ask является

http://stackoverflow.com/questions/ask

это означает, что /ask - это подкаталог, но они также делают это для конкретных страниц вопросов.Как вы кодируете это в .NET?

Вопрос не столько в коде, сколько в технике.Я знаю, что это отлично подходит для SEO, но как создать сайт так, чтобы каждая "страница" представляла собой отдельный каталог?Динамично.

У вас есть шаблон или скрытое перенаправление???

Каким образом??:)

Это было полезно?

Решение

Это называется переписыванием URL-адресов:

Переписывание URL-адреса с помощью ASP.NET

MSDN:Переписывание URL-адреса в ASP.NET

Редактировать:Как указывает @Justice, StackOverflow использует Маршрутизация.

Другие советы

StackOverflow использует нечто, называемое маршрутизацией, которое поставляется с .NET 3.5 SP1.Маршрутизация является популярной функцией ряда MVC-фреймворков, таких как ASP.NET MVC, Ruby on Rails, а также ряда фреймворков Python и PHP.

Stack Overflow был создан с использованием ASP.NET MVC, который использует технику, называемую маршрутизацией, см.:

С помощью чего было создано Stack Overflow?

и Маршрутизация

Использование переполнения стека ASP.net MVC

MVC использует URL + строку запроса для определения содержимого, поэтому это не похоже на URL, который указывает на определенную страницу, а скорее на иерархический путь к свойствам некоторых отображаемых данных

Например,Дж. https://stackoverflow.com/users /[Положить Идентификатор пользователя здесь]/[Введите имя пользователя здесь]

предлагает веб-сайту отобразить ПОЛЬЗОВАТЕЛЯ с идентификатором, указанным в пути (в данном случае имя пользователя, вероятно, просто для пинки), в отличие от конкретной страницы, созданной только для этого пользователя.

Я видел, как это достигается простым созданием папки для каждой веб-страницы, а затем тем, что каждая папка содержит документ по умолчанию.aspx (при условии, что Default.aspx настроен как документ по умолчанию в IIS, которым он является по умолчанию).Затем вы можете перейти к любой папке на сайте, не указывая страницу (Default.aspx).

Что касается динамической части, я работал с системами CMS, которые делают это таким образом, и страница по умолчанию.aspx просто наследуется от некоторого основного шаблона, а система CMS использует технологию рендеринга ASP.NET для динамического завершения веб-страницы.

Использование папок может быть немного обременительным для структуры сайта, но это простой способ исключить названия страниц из браузера.

Вот как я структурирую свой веб-сайт и избегаю необходимости использовать названия страниц...например http://www.innovaapps.net/Blog просто открывает страницу по умолчанию в формате aspx без необходимости указывать название страницы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top