覆盖 Apache 方法访问设置

覆盖 Apache 方法访问设置

我的网站位于使用 Apache2/PHP5 的托管服务器上。当我发布我的网站时,我发现某些服务器返回 403 Forbidden。我发现在使用方法 PUT 和 DELETE 的请求中会出现此错误。
我无法访问 httpd.conf,也无法查看设置,但我有 .htaccess 文件:

  <IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    </IfModule>

    <IfModule mod_deflate.c>

  <IfModule mod_setenvif.c>
    <IfModule mod_headers.c>
      SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
      RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
    </IfModule>
  </IfModule>

  <IfModule mod_filter.c>
    AddOutputFilterByType DEFLATE application/atom+xml \
                                  application/javascript \
                                  application/json \
                                  application/rss+xml \
                                  application/vnd.ms-fontobject \
                                  application/x-font-ttf \
                                  application/xhtml+xml \
                                  application/xml \
                                  font/opentype \
                                  image/svg+xml \
                                  image/x-icon \
                                  text/css \
                                  text/html \
                                  text/plain \
                                  text/x-component \
                                  text/xml
  </IfModule>

</IfModule>

我可以修改文件来覆盖服务器设置并授予 PUT 和 DELETE 请求的访问权限吗?

答案1

您应该首先检查是什么阻止了 PUT 和 DELETE。这可能是防火墙规则。

要修改设置并允许阻止的方法:

<LimitExcept POST GET DELETE PUT>
   #Require valid user
   Require all granted
</LimitExcept>

參閱Apache 文档

相关内容