Как сделать так, чтобы виртуальные URL-адреса указывали на страницы ASPX в asp.net, развернутые на IIS? (желательно без IIS) - PullRequest
2 голосов
/ 19 октября 2008

Какой лучший способ получить красивую чистую структуру URL, такую ​​как переполнение стека?

Нужно ли для этого использовать IIS? Или есть способ, которым я могу сделать это с каким-то файлом сопоставления в asp .net?

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

Примечание:

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

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

http://www.blahblahblahblahblah7CEE53E1.com/test.aspx

->

http://www.blahblahblahblahblah7CEE53E1.com/test/

РЕДАКТИРОВАТЬ: я использую IIS 6.0

Ответы [ 5 ]

3 голосов
/ 19 октября 2008

Возможно urlMappings может работать для вас:

<system.web>
  <urlMappings enabled="true">
    <add url="~/test/" mappedUrl="~/test.aspx"/>
  </urlMappings>

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

3 голосов
/ 19 октября 2008

насколько я понимаю, вы ищете инструмент, который поможет вам с отображениями.

Если это так, вы можете попробовать " удобный для пользователя шаблон URL-правила " в модуле перезаписи url (iis7)

Шаблоны правил используются для предоставления простого способа создания одного или нескольких правил перезаписи для определенного сценария. Модуль переписывания URL-адресов содержит несколько шаблонов правил для некоторых распространенных сценариев использования. В дополнение к этому пользовательский интерфейс модуля перезаписи URL-адреса предоставляет платформу для подключения пользовательских шаблонов правил.

2 голосов
/ 19 октября 2008

Я использую инструмент под названием Ionic Rewriter

Он будет использовать регулярное выражение для перезаписи ваших URL без расширений на физические URL для обработки. Пользователь видит только один без расширения, однако веб-сервер видит .aspx и т. Д.

Кажется, что он работает очень хорошо и его очень легко настроить.

2 голосов
/ 19 октября 2008

Stackoverflow использует System.Web.Routing . Он изначально из asp.net MVC, но может использоваться в любом приложении asp.net. Я не уверен, насколько легко или сложно было бы перестроить маршрутизацию в существующее приложение.

1 голос
/ 03 июля 2009

Я не знаю, поддерживает ли IIS6.0 это или нет, но я использую web.sitemap, я добавляю атрибут с каждым узлом, равным красивому имени, которое я хочу, затем с Application_onBegin я сопоставляю симпатичный URL запроса с один в карте сайта ...

Вы спрашивали о лучшем способе, но я не думаю, что есть один "лучший" способ, я видел, как люди подают красивые имена из XML-файла, другие полагаются на функцию перезаписи IIS7.0

...