Laravelにて末尾スラッシュのリダイレクトを404に返す方法

Laravelでは、末尾にスラッシュが入った場合、スラッシュなしにリダイレクトを行う仕組みとなっている。

この仕組みがある場合、Google Search Consoleにて「ページにリダイレクトページがあります」という扱いとなり、そのページ全般でインデックスに登録されなくなる。

これを防ぐため、以下の方法にて末尾スラッシュのリダイレクトを行わず、404ページを返すように変更する。

変更する場合、「.htaccess」にて以下の該当箇所を調整する。

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]

この箇所を、以下のように変更する。

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=404]
#RewriteRule ^ %1 [L,R=301]

元の「301」はコメントアウトとした。

これにより、スラッシュなしへリダイレクトを行わず、404ページを表示させることとした。