Назад | Перейти на главную страницу

Ошибка HTTP IIS 403.18 - ASP.NET MVC 3 (с установленным PHP 5.3?)

Я получаю эту ошибку, когда настраиваю приложение 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)