Перезапись URL и параметры строки запроса - PullRequest
0 голосов
/ 13 сентября 2011

Я использую UrlReqritingNet для включения URL-маршрутизации в мое приложение asp.net 2.0.

Я хочу изменить

http://mysite.com/book/detail.aspx?id=4

на это:

http://mysite.com/book/a-tale-of-two-cities

Книга хранится в базе данных, 4 является уникальным первичным ключом книги.

Однако, используя этот URL, я вынужден выполнить поиск в базе данных, используя имя книги, а неЯ бы.Я бы предпочел использовать вместо этого уникальный идентификатор.

Очевидное решение:

http://mysite.com/book/4

или

http://mysite.com/book/a-tale-of-two-cities?id=4

Принимая во внимание SEO, либоиз этих идеальных URL?

Спасибо

Ответы [ 2 ]

2 голосов
/ 13 сентября 2011

Почему бы не сделать это в точности так, как это делает StackOverflow на этой самой странице?

http://mysite.com/book/4/a-tale-of-two-cities?id=4

Поместите идентификатор в URL перед слагом.Таким образом, если слаг будет отключен, у вас останется все необходимое для извлечения этой страницы.

1 голос
/ 13 сентября 2011

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

http://mysite.com/books/detail/a-tale-of-two-cities

Затем вы можете запросить таблицу данных ваших книг, используя название книги. Однако, если вы сделаете это, вы должны убедиться, что заголовок не является попыткой внедрения SQL-кода перед запуском запроса (используйте параметры sql).

С точки зрения SEO, это также должно быть лучше, чем наличие пар имя-значение в URL

...