UrlMapping, дающий страницу 404, не найденную в IIS, но работающую нормально на порту локального сервера - PullRequest
0 голосов
/ 19 января 2010

Что ж, у меня возникла проблема, когда я разместил свой веб-сайт .NET 2.0 на IIS 6. Я использовал UrlMapping для перенаправления некоторых старых URL-адресов. Он работает нормально, когда я использую его на порту локального сервера VS, но при развертывании его на IIS 6 выдает ошибку 404 Страница не найдена.

Я обнаружил, что на нескольких форумах они говорят об использовании Wildcard Mapping, но ни один из них не дает мне хорошего объяснения того, как этого добиться. В дополнение к этому, каковы риски безопасности при внесении таких изменений на уровне IIS (если они есть?)

Спасибо заранее, Приветствия:)

Ответы [ 3 ]

1 голос
/ 19 января 2010

Взломать IIS на целевом сервере.

Перейдите в Веб-приложение , щелкните правой кнопкой мыши и выберите Свойства

Выберите вкладку Виртуальный каталог

Нажмите кнопку Конфигурация в разделе Настройки приложения

В Карты подстановочных знаков раздел, добавьте это:

c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll

Убедитесь, что вы не отметили Файл существует.

0 голосов
/ 19 января 2010

Я полагаю, это происходит из-за того, что IIS6 не может передавать запросы в ASP.NET, когда ваши URL-адреса не имеют расширений (например, ASPX). В следующем примере настройки

<add url="~/NewUrl" mappedUrl="~/Default.aspx?UrlId=12345" />

вы получите 404 при попытке доступа к http://yousite.name/NewUrl на IIS6. Вот сообщение в блоге Фила Хаака о том, как преодолеть это с помощью подстановочных сопоставлений: http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx

P.S. Я знаю, что пост о ASP.NET MVC, но я думаю, что это может помочь и в вашем сценарии.

0 голосов
/ 19 января 2010

Вероятно, причиной вашей проблемы является то, что в сопоставлении ASP.NET на IIS есть флажок «проверить, что файл существует», снимите этот флажок, и с вами все будет в порядке.

Никакого реального риска при редактировании этого.

http://forums.asp.net/p/890825/1017645.aspx

http://blog.codeville.net/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/

Откройте свойства на своем веб-сайте, перейдите на вкладку «Домашний каталог» и нажмите «Конфигурация».

Затем найдите сопоставление .NET или создайте сопоставление с подстановочными знаками ... и убедитесь, что параметр «проверить файл существует» не отмечен.

...