Как заставить IIS6 распознавать маршруты pathinfo, а не возвращать ошибку «404 Undescribed»? - PullRequest
5 голосов
/ 23 июня 2011

Я занимаюсь разработкой веб-приложения RESTful на PHP.У меня есть:

  1. на тестовом сервере, Windows 7 / Apache 2.2 / PHP 5.2.9 (mod_php)
  2. на рабочий сервер , Windows Server 2003 / IIS6 / PHP 5.2.4 (php5isapi.dll)

Хотя в тестовой среде нет проблем, производственный сервер не может отправить любой запрос RESTful с pathinfo(т. е. такие страницы, как, например, /mypath/app.php/controller/id, где сценарий обработки /mypath/app.php), и дает хорошую пустую страницу с сообщением:

No input file specified. 

Используя firebug, я вижу заголовки ответов:

HTTP/1.1 404 Undescribed
Proxy-Connection: close
Connection: close
Via: 1.1 XXXXX
Date: Thu, 23 Jun 2011 14:51:18 GMT
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET, PHP/5.2.4

Где XXXXX - имя прокси.

Я погуглил, и кажется, что ни SO, ни остальная часть сети не могут дать практического решения этой проблемы.Любая подсказка?

Поскольку рабочий сервер необходимо поддерживать, переустановка PHP и / или IIS является , а не вариантом.Что я могу сделать, это изменить конфигурацию IIS / PHP и перезапустить IIS.

Заранее спасибо,

Paolo

Ответы [ 3 ]

3 голосов
/ 28 июня 2011

@ Хакре опубликовал хороший ответ, но это была еще одна вещь, которая решила эту проблему, о которой я кратко сообщаю, чтобы сэкономить часы боли для других ...

Я избавился от проблемы с помощью:

  • редактирование php.ini на рабочем сервере, комментирование строки doc_root=...;
  • перезапуск IIS;
  • запуск services.msc на рабочем сервере, перезапуск"World Wide Web Publishing Service";

теперь все страницы работают просто отлично, сообщая PATH_INFO правильно.

Спасибо за ответы в любом случае!

Если кто-нибудьзаботы, эта страница осветила меня.

2 голосов
/ 28 июня 2011

Снимите флажок Убедитесь, что файл существует флажок.

Это опция в Диспетчере информационных служб Интернета , которую можно найти на Веб-сайтах Свойства Домашний каталог Конфигурация для приложения .php Отображение .

Измените сопоставление для рассматриваемого веб-сайта и отключите проверку существования файла. Тогда pathinfo должен работать как положено.

Подробнее

1 голос
/ 23 июня 2011

попробуйте переписать поддержку, используя ISAPI_REWRITE (http://www.isapirewrite.com/)

...