2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Laravel】Redirect時にトレイリングスラッシュが入った状態で遷移させる方法

Posted at

Laravelでredirect()->to('/create/')のようにトレイリングスラッシュをつけた状態でリダイレクトさせても、「/create」のようにトレイリングスラッシュが消えた状態のURLが生成されてしまいます。
これは、UrlGeneratorクラスのtoメソッドのコードを見ればわかるのですが、第一引数に相対パスで入力されたものに対しては、スラッシュがtrimされるからです。
そこで、トレイリングスラッシュを付けた状態でリダイレクトさせる方法を2つご紹介します。

方法①:絶対パスでわたす

相対パスでだめなら絶対パスで渡しましょう!
例えば、以下のようにすればトレイリングスラッシュが入った状態で遷移されます。

return redirect()->to(config('app.url').'create/')

方法② 末尾スラッシュをエスケープする

末尾スラッシュをエスケープすることでtrimされる対象から外しましょう!
例えば、以下のような実装になります。

return redirect()->to('/create\/');
2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?