2015-04-13 3 views
1

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

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> 

UPDATE: Я некоторые родственные прочитанные сообщения, подобные следующим:

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

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

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

ответ

0

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

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

    AddHandler CGI-сценарий .pl
    RewriteCond% {REQUEST_URI} ^/мой/URL
    RewriteCond% {} REQUEST_METHOD PUT
    RewriteRule/мой/URL "C: /Apache/Apache2.2/cgi-bin/myurlput.pl"

и это обработанный

Смежные вопросы