IIS, выбрасывающий HTTP 404, не найден, но ресурс существует. Запрашиваемый URL-адрес также меняется автоматически.

Я сталкиваюсь с действительно странным сценарием с моим локальным IIS. Я разместил несколько сайтов на веб-сайте по умолчанию в моем локальном IIS. У одного из них есть страница входа. Со страницы входа в систему я перенаправляю пользователя на другую страницу, которая находится на другом сайте (который также размещен в том же IIS в виртуальном каталоге веб-сайта по умолчанию).

Теперь в событии нажатия кнопки "Отправить" на моей странице входа в систему, после аутентификации пользователя, я написал " Response.Redirect (redirect_url) ". redirect_url формируется динамически и передается в качестве параметра методу Redirect.

Во время отладки последний redirect_url, который отправляется в качестве параметра методу Redirect:

http://localhost/CP/web/console/console.aspx?sk=3e3cc1a8-73c4-4945-b3f8-08af22ea4324.50008

Но после того, как я пытаюсь перейти к следующему шагу, я неожиданно получаю сообщение об ошибке HTTP 404 о том, что ресурс не существует, и я заметил, что запрашиваемый URL-адрес, показанный на странице ошибки, отличается от того, что был динамически отправлен в ответ.Redirect (...) метод.

На странице ошибки запрошенный URL показывает значение как

http://localhost/CP/web/console/localhost/CPLogin?err=5

тогда как мой фактический запрошенный URL, сформированный в коде:

http://localhost/CP/web/console/console.aspx?sk=3e3cc1a8-73c4-4945-b3f8-08af22ea4324.50008

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

Пожалуйста, посетите ЭТУ ссылку [^], чтобы понять этот вопрос более четко. Я добавил скриншот страницы ошибки.

http://amoghnatu.wordpress.com/2013/09/16/question-please-help-iis-throwing-http-404-not-found-but-requested-resource-actually-exists-requested-url-also-changing-automatically/ [^]

Большое спасибо.!

2 ответа

Решение

Действительно, проблема была в том, как я размещал сайты в своем приложении. Я просто удалил все сайты, связанные с моим приложением, из IIS, а затем снова разместил их все гораздо более тщательно. Это решило проблему "неправильный URL перенаправления".

Кроме того, у меня было несколько таблиц с пропущенными обязательными данными, из-за которых я получал код ошибки.

Поэтому после того, как я заполнил все таблицы необходимыми данными, а также после правильного размещения приложения в IIS, моя проблема была решена.

В IIS перейдите в соответствующую папку, щелкните правой кнопкой мыши и "просмотрите". Проверьте, что это за URL. В большинстве случаев это связано с тем, что в URL должен быть добавлен номер порта. Например, это будет что-то вроде:

http://localhost:<port number>/CP/web/console/console.aspx?sk=3e3cc1a8-73c4-4945-b3f8-08af22ea4324.50008

вместо

http://localhost/CP/web/console/console.aspx?sk=3e3cc1a8-73c4-4945-b3f8-08af22ea4324.50008
Другие вопросы по тегам