Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > IIS выдает ошибку 405. Собссно, хелп!


Автор: [xoodo] 11.6.2006, 21:38
Мигрирую с Apache на IIS. Все настроил, в общем приближении работает, окромя сабжа.

Что имеем:
Windows SBS 2000 + IIS 5 + PHP 5 + Error 405 при запросе типа "./?var=val".
Полез в Гугл, выяснил, что возникает в частности при передаче POST-данных файлам, для которых прием POST не прописан. Мой случай. Файлы по умолчанию для данного сайта в IIS настроены как index.htm, index.html, index.php. Проверил работоспособность и порядок -- все ок. В настройках IIS указано, что файл *.php должен обрабатывать передаваемые любым методом данные и юзать (не соврать бы) php5isapi.dll. Проверено, работает.

Что нашел:
Мелкософт советует все action-ы в формах переписать с использованием полного имени файла, то есть "./index.php?var=val" вместо "./?var=val". Некие умельцы советуют выставить права обработки POST для .html файлов и сослаться при этом на /system32/asp.dll/. Вариант сомнительный, но был опробован. 

Что делал:
Выставлял обработку (all) для .htm, .html, ссылался на asp.dll. Не фурычит.
Поменял у этих двоих asp.dll на php5isapi.dll. Не фурычит.
Ставил index.php первым в очередь на обработку по умолчанию. Не фурычит.
Поменял в форме "./?" на "./index.php?". Фурычит, но скажем дружно -- нам не нужно.
Копал фак. Не накопал. Может, слепой, но все же.

Итак, есть вариант заставить IIS 5 понимать запросы с передачей данных POST-ом без указания имени файла и как этого достичь? Или придется по совету МС все формы переделывать? Сильно проще Апача ставить %) Впрочем, варианты смены IIS на Apache и PHP на ASP слышать не желаю, лучше по теме. GET вместо POST -- тоже не вариант. Спасибо.   

Автор: [xoodo] 12.6.2006, 14:23
Anyone? 

Автор: dstorm81 12.6.2006, 16:13
так
action=<? echo($_SERVER["SCRIPT_NAME"]) ?>
выведет что-то типа этого action=/questbook.php

а форм много у тебя? 
 

Автор: [xoodo] 12.6.2006, 17:00
Код
echo $_SERVER['SCRIPT_NAME'];

выводит "/index.php", как и надо, вне зависимости от того, запрашивается файл как "./?var=val" или "./index.php?var=val".

Добавлено @ 17:02 
А форм у меня мягко говоря до звизды  smile  

Автор: [xoodo] 16.6.2006, 17:05
Решено изменением экшнов всех форм. То бишь, не решено. Спасибо интересовавшимся. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)