У меня есть веб-сайт, работающий на IIS 7, в котором для документа по умолчанию на уровне веб-сайта установлено значение только index.php. Если я щелкну правой кнопкой мыши веб-сайт в диспетчере IIS и выберу «Исследовать», я вижу, что файл index.php находится там. Если я просто захожу на сайт вроде http://my.site.com Я получаю логотип IIS 7 по умолчанию с надписью «Добро пожаловать» на нескольких языках различий. Если я пойду в http://my.site.com/index.php он просто открывает сайт. Я остановил и запустил веб-сайт и запустил iisreset, но все равно не повезло.
Раздел документа по умолчанию в Web.config выглядит так
<defaultDocument>
<files>
<clear />
<add value="index.php" />
</files>
</defaultDocument>
Что мне не хватает?
Таким образом, вы можете вызвать файл явно, но когда вы просто используете адрес по умолчанию, например 127.0.0.1, он не работает? Первое, что я должен сделать, это убедиться, что для документа по умолчанию также задано значение index.php. IIS7 не будет этого делать, даже если вы правильно настроили обработчики документов для распознавания php (что, похоже, у вас есть, если ваш index.php отображается правильно).
Откройте панель управления IIS7 из панели управления компьютером. На вкладке под Подключения щелкнуть Места, веб-сайт по умолчанию. На следующей панели справа под названием Домашняя страница веб-сайта по умолчанию прокрутите вниз, пока не увидите Документ по умолчанию и щелкните по нему. Если у него нет index.php или того, что вы хотите в качестве имени файла по умолчанию, нажмите `` Добавить '' в Действия и введите имя, которое хотите использовать. Возможно, вам потребуется перезапустить службу, я не уверен. Это должно решить проблему. Если вы хотите сделать это только для одного сайта в IIS, вы можете щелкнуть отдельный сайт на панели подключений, а затем «Документ по умолчанию».
Проведите тест со страницей с именем default.aspx или default.htm и посмотрите, работают ли они по-прежнему как документ по умолчанию. Если это так, то ваш хостинг-провайдер (я предполагаю) может переопределить документы по умолчанию.
Также убедитесь, что какие-либо из ваших собственных правил перезаписи URL-адресов на уровне сайта или на глобальном уровне не отменяют ваши документы по умолчанию.
Эта проблема сводила меня с ума, у меня есть решение, которое сработало для меня.
У меня было несколько веб-сайтов, работающих под IIS. Некоторые веб-сайты нормально работали со страницей по умолчанию, другие выдавали ошибку.
Что исправило это для меня, так это просмотр вкладки ASP.net в настройке каждого веб-сайта. Мы не запускаем страницы -any- .aspx, но эта вкладка содержит путь к странице web.config для каждого веб-сайта.
В моем случае веб-сайты, которые не работали, потеряли версию «ASP.net». Сообщив каждому веб-сайту, что я использую 4.0.x вместо того, чтобы этот параметр был пустым, все затронутые веб-сайты снова начали работать. (К вашему сведению, мы запускаем страницы Coldfusion .cfm на сервере).
Кажется, что этот параметр содержит путь к отдельным файлам web.config, в которых хранится страница по умолчанию. Даже если вы не используете страницы .asp или .aspx, этот параметр имеет решающее значение для того, чтобы ваш сервер нашел страницу по умолчанию.