Проблема ASP.NET и HTTP 404 (проблема IIS) - PullRequest
2 голосов
/ 23 августа 2010

net webforms приложение, которое является новой версией старого интернет-магазина.У меня много входящих ссылок из Интернета, которые указывают на страницу определенной категории: http://www.example.com/category1.html, путь к этой категории в новой настройке похож на: http://www.example.com/category.aspx?id=42.

Я настроил страницу Category.aspx для обработки ошибок и перенаправления на пользовательскую страницу, регистрирую ошибку и перенаправляю на мою первую страницу.

Я настроил Global.asax Application_Error, чтобы сделать то же самое

Я настроил Web.config с пользовательскими ошибками для ретрансляции 404, используя ту же концепцию, что и выше.

Все работает как надо в Visual Studio (сборка на веб-сервере), когда я публикую его на своем веб-хосте, он не работает, говорят, что он работает в интегрированном режиме ... кто угодноесть решение для этого?

Ответы [ 2 ]

1 голос
/ 23 августа 2010

Со встроенным веб-сервером каждый запрос обрабатывается так, как если бы он был страницей asp.net, поэтому в этом случае всегда используется ваш web.config.

Однако в IIS .html обрабатывается не asp.net, а статическим обработчиком файлов, поэтому web.config игнорируется (хотя IIS7 ищет в web.config некоторые вещи, но это не относится к вашей проблеме )

Таким образом, вам нужно либо обработать .html на asp.net (установите расширение .html для обработки той же самой DLL, что и на страницах .aspx в IIS), либо вы должны установить страницу ошибок в IIS (и в вашем web.config).

0 голосов
/ 27 августа 2010

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

...