Apache put: запрошенный метод PUT не разрешен для URL

Я пытаюсь разрешить метод "положить" на свой apache 2.2, но что бы я ни пробовал (Limit, LimitExcept ...),
всегда получал следующую ошибку:

405 Method Not Allowed
The requested method PUT is not allowed for the URL

Это мой http.conf:

<VirtualHost *:80>
    ServerName example.com:80    
    DocumentRoot "D:/test"
    Include "D:/conf/httpd.conf"
    <Directory />
        Order Allow,Deny
        Allow From All
        Options Indexes FollowSymLinks MultiViews
        <LimitExcept GET PUT POST DELETE>
            Order allow,deny
            Allow from all
        </LimitExcept>
    </Directory> 
</VirtualHost>

ОБНОВЛЕНИЕ. Я прочитал несколько связанных сообщений, например следующие:

http://stackoverflow.com/questions/2934554/how-to-enable-and-use-http-put-and-delete-with-apache2-and-php  

но у меня нет скриптов php или cgi.
Я просто хочу перенаправить http-вызов (получить, опубликовать, поставить удаление ...), чтобы имитировать файлы с помощью mod_rewrite следующим образом:

RewriteCond %{REQUEST_URI} ^/maincall/customer
RewriteCond %{REQUEST_METHOD} PUT
RewriteRule /maincall/customer %{DOCUMENT_ROOT}/mockfolders/PUT/data.json

person asicfr    schedule 13.04.2015    source источник


Ответы (2)


Я нашел решение:

  • установить perl для создания cgi скрипта
  • определите следующие правила в httpd.conf:

    AddHandler cgi-script .pl
    RewriteCond% {REQUEST_URI} ^ / my / url
    RewriteCond% {REQUEST_METHOD} PUT
    RewriteRule / my / url "C: /Apache/Apache2.2/cgi-bin/ myurlput.pl "

и это сработало

person asicfr    schedule 17.04.2015

Я обнаружил эту проблему при тестировании сервера с помощью почтальона. На самом деле эта проблема возникает из-за того, что вы вводите URL-адрес ошибки. Попробуйте исправить введенный URL. И это работает для моей проблемы

person syaisyah    schedule 16.07.2021