Closed1

[nginx トレイリングスラッシュ]URI末尾にスラッシュが勝手につく

RyotaroRyotaro

とある案件で、https://www.example.com/shop を404にしてほしいという要件があった。

現状 https://www.example.com/shop はhttps://www.example.com/shop/ にリダイレクトされてしまっていた。

デバックしながら確認するとRouterやRedirectが設定されているプログラムには存在しておらず、より上のレイヤーで設定されているものだと分かった。

このプロジェクトはnginxを採用していたので、confファイルを確認。
しかし、それらしき設定は見当たらない...

調べていると、「トレイリングスラッシュ」という言葉にたどり着いた。
URLの末尾にスラッシュが付くことをトレイリングスラッシュと呼ぶらしい。

どうやらnginxは仕様で、何も設定していないと勝手にトレイリングスラッシュがついてくれるようです。

In response to a request with URI equal to this string, but without the trailing slash, a permanent redirect with the code 301 will be returned to the requested URI with the slash appended.
https://nginx.org/en/docs/http/ngx_http_core_module.html#location

このスクラップは2024/08/23にクローズされました