Я получаю эту ошибку, когда настраиваю приложение ASP.NET MVC3 на сервере IIS.
HTTP Error 403.18 - Forbidden
The specified request cannot be processed in the application
pool that is configured for this resource on the Web server.
Однако странная вещь исходит снизу; подробная информация об ошибке:
Module IIS Web Core
Notification
BeginRequest
Handler
PHP53_via_FastCGI
Error Code
0x00000000
Requested URL
http://localhost:80/index.php?q=OCOM/Account/LogOn
Physical Path
C:\inetpub\wwwroot\index.php
Logon Method
Not yet determined
Logon User
Not yet determined
Есть ли какая-то «неправильная конфигурация», при которой механизм PHP каким-то образом интерпретирует запрос ASP.NET MVC3 в запрос php? Честно говоря, я не совсем понимаю, что пошло не так, поскольку мой локальный компьютер отлично работает с аналогичной настройкой (установлен PHP и т. Д. С использованием Microsoft Web PI)
Я предполагаю, что у вас есть настройка URL Rewrite в корне вашего сайта для index.php.
Итак, если вы запускаете приложение MVC в подкаталоге, вы можете отменить регистрацию перезаписи URL-адреса index.php для этого подкаталога.
Для этого просто откройте диспетчер IIS, щелкните подкаталог на своем веб-сайте и используйте поле «Фильтр:», чтобы ввести «перезаписать», и это позволит вам попасть в область конфигурации перезаписи URL.
Тогда вы, вероятно, увидите там перечисленное правило перезаписи, которое вы захотите выбрать (щелкните один раз) и нажмите «Отключить правило» справа.
ОК?
Посмотрите сопоставления обработчиков для этого сайта / каталога. Вы должны увидеть запись для PHP53_via_FastCGI. Это должно удалить FastCGIModule.
... или вы можете просто добавить это в свой web.config
Или вы можете просто добавить это в свой web.config
<handlers>
<remove name="PHP53_via_FastCGI" />
</handlers>
Это должно работать для любого обработчика. Некоторые из вас могут получить другую версию или другой обработчик. Просто замените «PHP53_via_FastCGI» на то, что оно есть. (например, PHP60_via_FastCGI)