Php 重写的URL导致406错误

Php 重写的URL导致406错误,php,.htaccess,http-headers,swagger-ui,http-status-code-406,Php,.htaccess,Http Headers,Swagger Ui,Http Status Code 406,我正在尝试创建一个RESTful API和文档。然而,我似乎得到了一个奇怪的错误,我不知道如何修复 这项工作: curl --header "Accept: application/json" http://api.example.com/v1/method.php?key=test 但是,如果删除“.php”扩展并运行以下操作: curl --header "Accept: application/json" http://api.example.com/v1/method?key=test

我正在尝试创建一个RESTful API和文档。然而,我似乎得到了一个奇怪的错误,我不知道如何修复

这项工作:

curl --header "Accept: application/json" http://api.example.com/v1/method.php?key=test
但是,如果删除“.php”扩展并运行以下操作:

curl --header "Accept: application/json" http://api.example.com/v1/method?key=test
如果运行它,应该会出现406错误。现在,如果删除curl发送的头,两个请求都可以正常工作。然而,我使用的文档工具(swagger)需要它

以下是我的重写规则(已找到):

试一试

你的手术没有失败

后端服务表示它返回的响应类型未在客户端请求的Accept type HTTP头中提供

参考:

  • 查找服务返回的响应(内容类型)
  • 在请求接受标头中提供此(内容类型)

->406

@kevc45请关闭Mod_security我关闭Mod_security使用以下命令:
SecFilterEngine off secfilters可以关闭
,毫不奇怪我会收到相同的错误。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule method method.php [L]