この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
デフォルトの設定では、Router::url は http を返却する
CakePHP3 にて Router::url を使用して URL を生成すると、
1 |
$domain = Router::url(['controller' => 'hoge', 'action' => 'index']); |
のように記載しますが、全ての URL が「http://***」となります。
最近ではほとんどのサイトが SSL に対応しているため、「http://***」で URL が作られると使いづらいです。もちろん http を https に置換すれば良いのですが、システムとして提供しているのだから何かで対応されているはず!ということで、CakePHP3 にて Router::url 関数を使用した際に https の URL を返す方法を確認します。
対応方法は簡単なのですが、検索してもすぐに結果がでなかったので情報をまとめます。
Router::url メソッドで https の URL を作成する
対処方法は非常に簡単で、Router::url のパラメータに「_ssl」を追加します。
1 |
$domain = Router::url(['_ssl' => true, 'controller' => 'hoge', 'action' => 'index']); |
仕様書を確認する限りでは、CakePHP2 には記述がないので、CakePHP3 から追加されたパラメータのようです。
〇CakePHP3 公式サイトの Router の解説場所
https://api.cakephp.org/3.0/class-Cake.Routing.Router.html#_url
_ssl – Set to true to convert the generated URL to https, or false to force http.
ウェブプログラミングについては下記の本も参考になるので、スキルアップにお役立てください。