2014-11-26 4 views
0

Прошло несколько дней, когда я борюсь за решение проблем PUT, DELETE в своем веб-приложении.Получение 404 для запроса PUT и DELETE на сервере IIS 7.5 2008

  • Я использую REST сервера (PHP)
  • Windows Server 2008 R2 IIS 7.5
  • Мой сервер выделенный сервер размещен на contabo компании в германии
  • стороне клиента с помощью JS (Сенча сенсорный)
  • GET, POST работает отлично

мой домен и моя база данных на том же сервере, я попробовал много предложение с помощью сети:

  • Включить глаголы в "Handler Отображения"
  • Webdav не установлен
  • Создать web.config:
<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
<system.webServer> 
    <httpProtocol> 
    <customHeaders> 
     <add name="Access-Control-Allow-Origin" value="http://example.com" />  
    <add name="Access-Control-Allow-Methods" value="GET, POST, DELETE, PUT, OPTIONS" /> 
    <add name="Access-Control-Allow-Credentials" value="true" /> 
     <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept,*" /> 
    <add name="Access-Control-Max-Age" value="1000" />  
    </customHeaders> 
    </httpProtocol> 
</system.webServer> 
</configuration> 

Я также tryied к medify в: «applicationHost. config '(C: \ Windows \ System32 \ inetsrv \ config):

<add name="PHP_via_FastCGI" path="*.php" verb="GET,HEAD,PUT,DELETE,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.6\php-cgi.exe" resourceType="Either" /> 
<add name="PHP53_via_FastCGI" path="*.php" verb="GET,HEAD,PUT,DELETE,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.3\php-cgi.exe" resourceType="Either" /> 
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" /> 

но ничего :-(

  • У меня также есть ноутбук с win7 и IIS 7.5 и никаких проблем не работает прекрасно.
  • Я просто не знаю, как исправить это на моем сервере?

Спасибо за советы

+0

Вы пробовали отслеживать запрос с помощью Firebug? Есть ли разница между трассировкой сети для вашей локальной машины и трассировкой для вашего сервера? –

+0

Я использую firebug все время, Он просто говорит: PUT http://xxxxxx.com/php/customers.php/13?_dc=1417022337273 404 Не найдено 4.6s – user2005049

+0

Когда вы делаете GET и POST, это тот же URL-адрес, что и в PUT и DELETE? – user3334871

ответ

0

Я не знаю, почему эта проблема происходит, но я очень настороженно относился к вашему URL. В вызове GET у вас есть xxxxxx.com/php/customers.php?_dc=1417023448549&db=107&page=2&start=25&limit=25 в качестве вашего URL. Просто объясните и не оскорбляйте вас, если вы уже знаете это, но строка запроса - это то, как сервер ссылается на какой объект возвращается в ответ. Эти значения включают _dc=1417023448549&db=107&page=2&start=25&limit=25 для запроса GET. Таким образом, сервер знает, что запрос GET хочет объект, значение _dc которого равно 1417023448549, значение db равно 107 и так далее. Когда у вас есть запрос PUT, у вас есть xxxxxx.com/php/customers.php/13?_dc=1417022337273. Я не уверен, почему есть еще / после customers.php. Это говорит о том, что clients.php - это другой каталог. Вы сказали, что sencha создает URL-адреса. Я предполагаю, что вы где-то неправильно его настроили.

+0

У меня нет контроля над кодом sencha, я видел это с помощью '/', но точный код отлично работает на моем ноутбуке! – user2005049

0

Здесь вы можете запустить его в вашем браузере, и вы можете использовать Firebug, чтобы увидеть результаты:

roya4u.com/roya_se_mobile

Попробуйте изменить контакт, а затем нажмите «ЗЕЛЕНЫЙ» кнопку (сохранить)

Когда я скопировать из Firebug НА НОВЫЙ TAB В Диспетчере ЭТО РАБОТАЕТ:

http://roya4u.com/Roya_SE_Mobile/php/customers.php/13?_dc=1417027029131 

Я ПОЛУЧИЛ ОТВЕТ!

это очень странно ??