我正在尝试创建一个 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)需要它。
这是我的重写规则(在此处找到):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]