ошибка сервера: 405 - HTTP-глагол, используемый для доступа к этой странице, не разрешен

У меня есть приложение php Facebook, которое я загрузил на сервер Microsoft. Когда я запускаю приложение, я получаю эту ошибку. Кто-нибудь знает причину этого?

405 - HTTP-глагол, используемый для доступа к этой странице, не разрешен. Страница, которую вы ищете, не может быть отображена, поскольку для попытки доступа использовался недопустимый метод (HTTP-команда).


person Florian Shena    schedule 27.07.2011    source источник
comment
Для тех, кто читает, если запрошенный URL-адрес является файлом * .json, следуйте этим инструкциям: uipress.com/add-json-handler-support-in-iis-7 / #. UT_bw9aOR8E ... не нажимайте на сайт, нажмите на узел сервера (в дереве) ... таким образом все сайты наследуют настройку.   -  person MacGyver    schedule 13.03.2013


Ответы (7)


Даже если вы используете IIS или apache, я предполагаю, что вы используете статическую страницу html в качестве целевой страницы, и по умолчанию веб-сервер не позволяет использовать команду POST или GET на странице .html, facebook вызывает вашу страницу через POST / GET глагол

решением было бы переименовать страницу в .php или .aspx, и все будет в порядке :)

person Rabih harb    schedule 13.10.2011
comment
Как насчет настройки сервера, чтобы разрешить страницу? - person JNF; 03.04.2013
comment
в некоторых случаях это не так просто. Например, я использую .net mvc. Моя целевая страница - cshtml, но я не могу просто изменить имя, потому что мой контроллер вызывает этот конкретный cshtml :( Что я могу сделать в таком случае? - person Moisés Briseño Estrello; 04.07.2013
comment
контроллер должен обрабатывать событие post, вам нужно сделать что-то вроде этого: [HttpPost] public ActionResult Index () {} - person Rabih harb; 30.10.2013
comment
У меня это не сработало. Я попробовал .php, и результат был тот же. Когда я попробовал .aspx, я получил 403 запрещенную ошибку. - person glln; 19.12.2013
comment
Это исправило это от меня. В папке, которую я публиковал, тоже была старая и неиспользованная страница index.html. Я удалил все ненужные файлы (включая index.html), и он начал работать (перешел в Default.aspx) - person Francis Dean; 16.11.2018

В панели управления приложения Facebook убедитесь, что у вас есть косая черта в конце любого указанного URL-адреса, если вы указываете только имя папки.

i.e.

URL вкладки страницы: http://mypagetabserver.com/custom_tab/

person Kevin Cooper    schedule 21.05.2012

Буквально это означает, что вы пытаетесь использовать неправильный http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol при доступе к некоторому http-содержимому. Вам нужно использовать POST для использования большого количества контента на веб-сервисах. Я подозреваю, что вы пытаетесь получить доступ к API facebook, используя неправильную команду http.

person Tom Squires    schedule 27.07.2011
comment
Как я могу заставить сервер разрешить команду POST? - person Florian Shena; 27.07.2011
comment
Значит, ваше приложение выдает ошибку напрямую, а не при вызове веб-службы? Когда вы комментируете ту часть, которая вызывает facebook, все еще возникает ошибка? Может быть, вы могли бы показать нам какой-нибудь код? - person Tom Squires; 27.07.2011
comment
На самом деле он также показывает мне ту же ошибку, даже когда я просто загружаю html-страницу в приложении facebook, не пытаясь загрузить FB API. - person Florian Shena; 27.07.2011
comment
Тогда это проблема с конфигурацией вашего веб-сервера (iis?). Загляните в это руководство somacon.com/p126.php, если это не сработает, опубликуйте вопрос о неисправности сервера - person Tom Squires; 27.07.2011

Я исправил свою, добавив эти строки в свой IIS webconfig.

<httpErrors>
    <remove statusCode="405" subStatusCode="-1" />
    <error statusCode="405" prefixLanguageFilePath="" path="/my-page.htm" responseMode="ExecuteURL" />
</httpErrors>
person Wreeecks    schedule 08.01.2015

Я тоже пару часов выдергивал волосы из-за этого. fakeartist кажется правильным - я изменил расширение файла с .htm на .php, и теперь я вижу свою страницу в Facebook! Это также работает, если вы измените расширение на .aspx - возможно, это просто должно быть расширение на стороне сервера (я не пробовал с .jsp).

person Matthew Blott    schedule 04.09.2012

Попробуйте переименовать файл по умолчанию. В моем случае недавний переход на IIS7.5 дал ошибку 405. Я изменил index.aspx на default.aspx, и у меня это сразу сработало.

person Charles Westcott    schedule 03.10.2014

В моем случае IIS был в порядке, но ... эээ ... все файлы в папке, кроме web.config, были удалены (ручное развертывание наполовину выполнено на тестовом сайте).

person SteveCav    schedule 23.11.2020