Подтвердить что ты не робот

Зачем возвращать файл aspx 404 ( "Невозможно найти страницу" )

Почему, когда я обращаюсь к aspx (например, http://www.example.com/foo.aspx - не реальный сайт) через IE6, я получаю ошибку 404 (т.е., "Страница не может быть найдена" ) в IIS6

У меня есть сценарии для веб-сайта, и я попытался с включенными исполняемыми файлами.

Вот полная ошибка:

The page cannot be found
The page you are looking for might have been removed, had its name changed, or
is temporarily unavailable. 
------------------------------------------------------------------------------

Please try the following:

Make sure that the Web site address displayed in the address bar of your 
browser is spelled and formatted correctly. 
If you reached this page by clicking a link, contact the Web site 
administrator to alert them that the link is incorrectly formatted. 
Click the Back button to try another link. 
HTTP Error 404 - File or directory not found.
Internet Information Services (IIS)

------------------------------------------------------------------------------

Technical Information (for support personnel)

Go to Microsoft Product Support Services and perform a title search for the 
words HTTP and 404. 
Open IIS Help, which is accessible in IIS Manager (inetmgr), and search for 
topics titled Web Site Setup, Common Administrative Tasks, and About Custom 
Error Messages. 

Я могу получить Default.htm в том же каталоге, поэтому я знаю, что путь правильный. Я открыл его для всех (временно), поэтому я знаю, что права прав.

4b9b3361

Ответ 1

Это может быть много. У меня была эта проблема сегодня, потому что .NET не был повторно инициализирован после установки IIS (aspnet_regiis -i -enable или эквивалентного).

Ответ 2

Убедитесь, что анонимный пользователь, под которым работает сайт, имеет доступ для чтения к файлу foo.aspx.

IIS6 и более поздние версии используют ответ 404, тем самым не позволяя злоумышленнику узнать, существует ли такой файл.

Ответ 3

Мне просто удалось найти другого виновника этой проблемы. Моя страница foo.aspx ссылалась на определенную главную страницу с директивой <%@ Register %> для пользовательского элемента управления, которого не было. Удаление ссылки на несуществующее пользовательское управление вызвало мой foo.aspx для загрузки вместо 404.

Ответ 4

Я нашел решение здесь. Настоящий улов использовал это:

Response.TrySkipIisCustomErrors = true;

Ответ 5

Сайт указывает на другой каталог, где страница отсутствует.

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

Я предполагаю, что вы используете IIS.

Ответ 6

Убедитесь, что www.example.com отправляется на сайт, который, по вашему мнению, есть.

Если вы размещаете несколько сайтов на одном IP-адресе, используя заголовки хоста, вы можете дважды проверить, что имя, которое вы используете, находится на сайте, который, по вашему мнению, есть.

Ответ 7

Рэй и Джо, вероятно, есть. Чтобы обслуживать любой тип файла, IIS должен иметь для него сопоставление. Файлы Aspx требуют, чтобы они были сопоставлены с dll AspNet ISAPI, к которым обычно относится установка .Net. Если вы устанавливаете IIS после .Net(и я уверен, что есть другие ситуации), вы должны инициировать это самостоятельно, запустив aspnet_regiis.

Ответ 8

АЛЬТЕРНАТИВНОЕ РЕШЕНИЕ (такая же ошибка, возможно, другая причина).

Я установил Visual Studio 2008 Pro без SQL Express, и это вызвало эту же ошибку. Переустановка VS2008 с включенным sql express, похоже, исправила проблему, или, возможно, установка приняла другие меры. Я попытался зарегистрировать ASP.net несколько раз раньше, но не повезло, но это определенно самая вероятная причина. Просто отправляйте мой опыт тем, кто тянет их волосы, как я был.

Спасибо

Ответ 9

Если вы зарегистрируете версию IIS.NET 4, вы можете обнаружить, что она захватила регистрацию расширения aspx. Если ASP.NET v4 запрещен, то возвращается 404

Ответ 10

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

Посмотрев файл журнала IIS, я увижу:

sc-status sc-substatus sc-win32-status
404 0 2

sc-status.sc-substatus: 404.0 - не найдено
sc-win32-status: 2 - ERROR_FILE_NOT_FOUND
https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx https://en.wikipedia.org/wiki/HTTP_404

Я обнаружил, что проблема заключалась в том, что я развернул новую версию веб-сайта, на которой на старой версии веб-сайта была установлена ​​RouteConfig.cs/FriendlyUrlSetting, создав проект с использованием шаблона веб-форм. Новая версия была создана с использованием пустого шаблона. Так очевидно для меня сейчас.. нет маршрутизации URL. У клиентов была проблема с кешем с определенными страницами на их машине (без расширения .aspx), и с их четкими данными браузера в конечном итоге была устранена проблема.

Ответ 11

У меня возникла эта проблема, когда я попытался использовать другой диск для размещения моих приложений. Я переместил их в папку wwwroot, потому что он работал там, и мне не приходило в голову выяснить, почему он не работает на диске E: \.

Ответ 12

У меня не было bin\roslyn компилятора. Добавим, что все работало нормально.