2009-02-06 4 views
2

Я работаю с digg-клоном в ASP.NET MVC, чтобы лучше научить меня ASP.NET MVC. Я смотрел, как StackOverflow обрабатывает маршрутизацию при передаче в подобных вещах, и я предполагаю, что я думал, что цель использования чистых URL-адресов заключается в том, что у вас нет таких вещей, как сортировка = бла в конце вашего URL-адреса для SEO.Несколько параметров маршрута с чистыми URL-адресами

Есть ли рекомендуемый способ включения многих, возможно, необязательных параметров в ваши URL-адреса, в то же время сохраняя их чистоту. У меня было несколько идей, и я хотел бы получить некоторые отзывы.

Вариант 1:

Используйте подстановочные знаки (гадость)

Вариант 2:

Добавить сортировку в начале URL, так как он имеет наибольший охват и применяется всегда при просмотре истории. Exampke (с помощью StackOverflow)

Вместо того, чтобы сортировать = признакам ...

https://stackoverflow.com/featured/tagged/asp.net-mvc
https://stackoverflow.com/new/tagged/c#
https://stackoverflow.com/tagged/asp.net (какой-то по умолчанию)

Во всяком случае - я не могу думать любых других способов сделать это.

ответ

3

Держись, переполнение стека делает использование строки запроса параметры для сортировки, например .:

https://stackoverflow.com/questions/518812?sort=oldest#sort-top

/признакам отличается. В этом случае вы контролируете, какие записи возвращаются, а не только их сортировка.

URL-адреса описывают ресурсы. Параметры строки запроса описывают, как представлены ресурсы. В целом:

  • Фрагменты, которые описывают характер возвращенных данных, должны быть частью URL-адреса.
  • Фрагменты, которые описывают, как эти данные представляются, должны быть параметрами строки запроса.

Наличие параметров строки запроса не повредит вашему SEO.

+0

Да, я просто пытался привести примеры этого, но я вижу, что вы говорите, и если это не повредит SEO, я просто использую параметры querystring. Благодаря! –

+0

QSPs не повреждают и не помогают SEO, AFAIK. Бросок лишнего дерьма в URL * может * помочь, хотя и за счет правильности. –

+0

Да, просто со всей шумихой вокруг чистых URL-адресов и SEO я просто подумал, что было бы лучше не использовать их. Однако было бы глупо иметь ОГРОМНЫЙ URL-адрес с ничего, кроме/sort-votes/tag-blah/something-blah /. Еще раз спасибо. –

2

Вы должны пойти с помощью метода, который наилучшим образом подходит для вас. Некоторые вещи, которые следует учитывать:

  • ремонтопригодность: как вы будете поддерживать структуру ссылок на протяжении всей жизни. Как будет кто-то еще?
  • читаемость/отладка: как вы отлаживаете ссылки? Помог бы вам естественный язык? (помогает мне).
1

Предположим, у вас есть контроллер под названием StoryController, который показывает все ваши сообщения. Вы можете сделать так, чтобы ваши маршруты выглядели так:

routes.MapRoute("FeatureTagged", "feature/tagged/{tag}", new { 
     controller = "Story", action = "ShowFeaturedByTag" }); 
routes.MapRoute("NewTagged", "new/tagged/{tag}", new { 
     controller = "Story", action = "ShowNewByTag" }); 

Кстати, есть еще один клоун ASP.NET MVC. Это называется Kigg: http://www.codeplex.com/Kigg, и это выполняется на сайте под названием DotNetShoutout

+0

Да, я просмотрел KiGG для ответов и на самом деле не нашел его. –

Смежные вопросы