IIS 8.5 - получение ошибки при возврате статических 404 файлов

Это может быть Ваш сервер hostname. Помните, что необходимо изменить его на /etc/hostname, на /etc/hosts и используйте hostname <newname если Вы не хотите перезагружать сервер.

4
задан 19 March 2014 в 22:30
2 ответа

Из документации для расширения sqlsrv по адресу http://www.php.net/manual/en/sqlsrv.installation.php

Расширение SQLSRV совместимо только с PHP, работающий в Windows.

Есть экспериментальный dblib https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCwQFjAA&url=http%3A%2F%2Fwww.php.net%2Fmanual%2Fmanual%2F % 2Fref.pdo-dblib.php & ei = dMkpU-qfEM3MqQG3voGIBw & usg = AFQjCNEDWwq6z9FlZUD4PqKRUXiOGQT6Pw & sig2 = LsucfGyAAzq5uO6doPv22-35, обнаруженная ошибка: [113] - путь 13: 12, b. ] web.config .

Абсолютный физический путь (например, C: \ path \ to \ notfound.html ) не допускается в разделе system.webServer / httpErrors в файл web.config .

Теперь у вас есть 2 решения:


1. Разрешить физический путь в ApplicationHost. config файл

По умолчанию этот файл находится в % SystemRoot% \ system32 \ inetsrv \ config

Найдите этот файл и отредактируйте его

Найдите раздел

Затем добавьте директиву allowAbsolutePathsWhenDelegated = "true" , например:

<httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath" allowAbsolutePathsWhenDelegated="true">
   ....
   ....
</httpErrors>

Сохраните файл, должно работать!


2. Использовать относительный путь

Относительный путь означает, что вам нужно будет хранить свои настраиваемые страницы ошибок в корневой папке данного веб-сайта.

Затем перейдите к IIS> Сайты> mysite> Страницы ошибок> 404

И настройте свою страницу ошибок следующим образом:

enter image description here

Нажмите ОК , должно работать!


РЕДАКТИРОВАТЬ:

Однако обратите внимание, что:

  • Решение 1 отправляет ответ 404 Not Found
  • Решение 2 отправляет ответ 200 OK
3
ответ дан 3 December 2019 в 03:30

Я поискал и обнаружил, что есть вещь под названием «allowAbsolutePathsWhenDelegated», для которой по умолчанию установлено значение «false».

IIS8.5 > Sites > mysite > Management > Configuration Editor > system.webServer/httpErrors

Однако значение заблокировано и не может быть изменено там. Итак, я щелкнул корень в дереве и смог отредактировать его там.

IIS8.5 > Management > Configuration Editor > system.webServer/httpErrors

Обратите внимание, что корень на самом деле не называется «IIS8.5», он назван по имени вашего компьютера.

Итак, после того, как для параметра allowAbsolutePathsWhenDelegated было установлено значение true, все работало хорошо. Другим решением было бы поместить статический файл в папку wwwroot моего сайта и просто ввести его имя как страницу с ошибкой 404 (хотя в моем случае лучше использовать абсолютный путь, а не относительный).

Что ошибка в том, что нигде на экране «Страницы ошибок» об этом ограничении по умолчанию не упоминается. Это не Я ничего не говорю о том, что путь должен быть относительно корня вашего сайта, и, поскольку значение по умолчанию НЕ относительное (оно находится в папке inetpub), вы предполагаете, что абсолютный путь будет работать нормально.

Надеюсь, Microsoft исправит эту проблему интерфейса позже версия. Пожалуйста, уточняйте любые ограничения в полях ввода.

1
ответ дан 3 December 2019 в 03:30

Теги

Похожие вопросы