2008-10-19 4 views
2

Каков наилучший способ получить чистую структуру URL-адресов, например, переполнение стека?Как создать виртуальные URL-адреса для ASP.NET-страниц в asp.net, развернутых в IIS? (желательно без IIS)

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

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

Примечание:

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

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

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

->

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

EDIT: Я бегу IIS 6.0

ответ

3

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

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

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

3

от того, что я понимаю, вы ищете инструмент, чтобы помочь вам с распределениями.

Если это так, то вы можете попробовать «user friendly url - rule template» особенность модуля URL Rewrite (IIS7)

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

2

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

2

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

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

Он работает очень хорошо и очень прост в настройке.

1

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

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

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