LoginSignup
2
0

More than 3 years have passed since last update.

Laravel assetヘルパ httpとhttpsの切り替え

Posted at

検証環境・本番環境でSSL対応を行っていた際にassetヘルパでエラーが起きていたので備忘録として。

assetヘルパ

asset()はよく使われていると思います。
第一引数のみを渡した場合はhttp://~が返り値になります。

hoge.php

asset('hoge/hoge.jpg')    // http://~が返り値

これだとSSL対応を行っていた場合はエラーになってしまいます。

しかし、assetヘルパは第二引数にtrueを渡すと返り値がhttps://~になります。

fuga.php

asset('fuga/fuga.jpg', true)    // https://~が返り値

これでSSL対応してても大丈夫です。
このように、一部のみSSL対応といった場合はassetヘルパの第二引数にtrueを渡すことで対応ができます。

プロジェクト全体が常時SSLの場合はweb.phpServiceProviderURL::forceScheme('https');を記載することがベストプラクティスな気がします。
※調べるとたくさん記事が出てくるのでそちらを参照してください。

とはいえ、第二引数にtrueを指定するとローカル環境でもhttps://~になってしまうので、そこは動的に変えたほうが良さそうです。

よく見るやつ
$is_production = env('APP_ENV') === 'production' ? true : false;

asset('hoge/hoge', $is_production);

余談

urlヘルパやredirectヘルパも引数にbooleanを渡すことで制御可能です。
詳しくはググったり、ソースを読んでみてください。

終わり

readoubleでヘルパを覗いても記載されてないので調べるまで知らなかった知識。
以前調べた際にに知った事ですが、忘れると勿体ないので記事にしました。

2
0
0

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
0