Php 重写的URL导致406错误
我正在尝试创建一个RESTful API和文档。然而,我似乎得到了一个奇怪的错误,我不知道如何修复 这项工作: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
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]