我正在構建一個 api,例如。https://example.com/my-api/api.php然后我使用以下 .htaccess 文件使 api 可以通過https://example.com/my-apiRewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule (.*)$ api.php/$1/ [L,QSA]該文件有效,但是當我的 api 調用沒有以尾部斜杠結尾或設置了一些參數時,$_SERVER['REQUEST_METHOD'] 變為 GET。例子:POST https://example.com/my-api/foo #becomes GETPOST https://example.com/my-api/foo/ #stays POSTPOST https://example.com/my-api/foo?bar=1 #stays POSTPOST https://example.com/my-api/foo/bar #becomes GETPOST https://example.com/my-api/foo/bar/ #stays POSTPOST https://example.com/my-api/foo/bar?abc=1 #stays POST我怎樣才能改變這種行為(這是可取的)還是我應該通知這個 api 的用戶總是以尾部斜杠結束他們的調用?添加尾部斜杠后,api 將按預期工作。我主要通過 PostMan 測試了這種行為。
.htaccess 將 REQUEST_METHOD 更改為 GET - 如果 URL
慕桂英3389331
2023-05-12 16:08:19