路由模式中斜線 (/) 後方

將 URL 範例設為包含尾部斜線時,Slim 會將其視為與不包含時不同。亦即,/user/user/ 是不同的,因此可以附加不同的呼叫。

針對 GET 請求,永久重新導向是可以的,但對於其他請求方式(例如 POST 或 PUT),瀏覽器會傳送以 GET 方式為主的第二請求。若要避免此情況,您只需要移除 Request 物件中的尾部斜線,並將處理後的 URL 傳遞給下一個中間件即可。

如果您想要重新導向/改寫所有以 / 結尾的 URL 為非尾部 / 相同位置,請考慮使用 middlewares/trailing-slash 中間件。此外,該中間件還能強制在所有 URL 上追加尾部斜線。

use Middlewares\TrailingSlash;

$app->add(new TrailingSlash(trailingSlash: true)); // true adds the trailing slash (false removes it)