Маскировка URL в .Net / HTML - PullRequest
       3

Маскировка URL в .Net / HTML

0 голосов
/ 25 апреля 2011

У меня есть веб-сайт, на котором у меня есть много категорий, много подкатегорий в каждой и много продуктов в каждой из них.Поскольку URL-адреса очень недружественные для пользователя (они содержат GUID !!!), я хотел бы использовать метод, который, я думаю, называется маскированием URL-адресов.Например, вместо того, чтобы идти в catalogue.aspx? ItemID = 12343435323434243534, они пойдут в notpads.htm.Это будет отображаться так же, как при переходе в catalogue.aspx? ItemID = 12343435323434243534 будет отображаться каким-либо образом.

Я знаю, что мог бы сделать это, создав файл для каждой категории / подкатегории (отдельные продукты не могут быть доступны по отдельноститак как это оптовый сайт - клиенты не могут покупать напрямую с сайта).Это будет большая работа, так как сервер должен будет обновлять каждый соответствующий файл всякий раз, когда меняется видимость категории / подкатегории / продукта, или меняется описание, меняется имя ... Вы понимаете ...

Я пробовал использовать серверные включения, но ему не нравится, когда в html-файле указан файл .aspx.

Я также пытался использовать iframe, установленный на 100% ширина / высотаи абсолютно позиционированы слева 0 и сверху 0. Это работает довольно хорошо, но я знаю, что есть причины, по которым вы не должны использовать этот метод, например, некоторые поисковые системы не справляются с этим хорошо.Я также замечаю, что заголовок «родительской» страницы (notepads.htm) - это не заголовок, установленный в iframe (логически это правильно - это еще одна проблема, которую мне нужно решить, если я продолжу и использую этот метод).

Может кто-нибудь предложить другой способ, которым я мог бы сделать это, или сказать мне, иду ли я по правильным линиям, используя iframes?Спасибо.

С уважением,

Ричард

PS Если это неправильное название для того, что я пытаюсь сделать, пожалуйста, дайте мне знать, что это на самом деле, чтобы я мог переименовать/ retag it.

Ответы [ 3 ]

2 голосов
/ 25 апреля 2011

Я полагаю, вы имеете в виду перезапись URL .

IIS 7+ имеет встроенный модуль перезаписи , который можно использовать для подобных вещей.

2 голосов
/ 25 апреля 2011

Просмотрите URL переписывает.Вы можете создать регулярное выражение и сопоставить его с вашим истинным URL.Например,

http://mysite.com?product=banana 

может отображаться на

http://mysite.com?guid=lakjdsflkajkfj3lj3l4923892&asfd=9234983920894893
1 голос
/ 25 апреля 2011

URL Rewriters решают проблему, которую вы описываете - Когда кто-то запрашивает страницу A, отображайте страницу B - в общем виде.

Но ваше требование не является общим. Кажется, у вас есть конечное требование сопоставления uuid-to-shortname. Это такая вещь, которую вы можете или должны настроить в своем приложении самостоятельно, вместо того, чтобы вставлять новый элемент оборудования в свою систему.

На странице .aspx по умолчанию вы просто выполняете поиск по короткому имени из URL-адреса в постоянной таблице, хранящейся где-то, а затем вызываете Server.Transfer () для страницы с именем uuid, связанной с этим коротким именем.

Это должно быть легко прототипом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...