LaravelでBladeのアセットをhttpsで読み込む
質問
このような形式でCSSを読み込んでいます。
<link href="{{ asset('assets/mdi/css/materialdesignicons.min.css') }}" media="all" rel="stylesheet" type="text/css" />
という形式で読み込んでいますが、全てのhttpリクエストで正常に読み込まれます。
しかし、ログインページをSSL (https) で読み込むと
...page... was loaded over HTTPS, but requested an insecure stylesheet 'http...
どなたか、bladeのアセットをhttpではなくhttpsで読み込ませる方法を教えていただけませんか?
資産を安全に読み込もうとする必要がありますか?それとも、Bladeの仕事ではないのでしょうか?
どのように解決するのですか?
で問題が発生しました。
asset
関数が HTTP プロトコルでリソースを読み込むときに、ウェブサイトが HTTPS を使用している場合、それが "Mixed content" の問題の原因です。
この問題を解決するには
\URL::forceScheme('https')
を追加する必要があります。
AppServiceProvider
ファイルに追加します。
というわけで、私のはこんな感じです(Laravel 5.4)。
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
if(config('app.env') === 'production') {
\URL::forceScheme('https');
}
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}
これは、サーバだけhttpsにする必要がある場合に便利です(
config('app.env') === 'production'
) のみで、ローカルでは必要ないため、無理に
asset
関数がhttpsを使用するように強制する必要はありません。
関連
-
[解決済み】move_uploaded_fileは、「failed to open stream: Permission denied" というエラーが出る
-
[解決済み】予期せぬ例外。SQLSTATE[HY000] [1045] Access denied for user ****@'localhost' (using password: YES)
-
[解決済み】++と*+の意味は何ですか?
-
[解決済み】stdClassクラスのオブジェクトが文字列に変換されない。
-
[解決済み】PDOException SQLSTATE[HY000] [2002] そのようなファイルまたはディレクトリがありません。
-
[解決済み】In_arrayが動作しない。
-
[解決済み] HTTPS でページを読み込んだが、安全でない XMLHttpRequest のエンドポイントを要求した
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] HTTPSのURLは暗号化されていますか?
-
[解決済み】BladeでHTMLを表示すると、HTMLコードが表示される。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】phpのob_start()の使い道は?
-
[解決済み】PHP 7.2 - Warning: count(): パラメータは配列かCountableを実装したオブジェクトでなければならない [解決済み]
-
[解決済み】変な電話番号を生成するフェイカー?
-
[解決済み】pdo - 非オブジェクトのメンバー関数prepare()への呼び出し【重複】。
-
[解決済み】Xampp ローカルホスト/ダッシュボード
-
[解決済み] 警告:mysqli_fetch_array()は、パラメータ1がmysqli_resultであることを期待する、オブジェクトはで指定された。
-
[解決済み】file_get_contents( )が動作しない。
-
[解決済み] Forbidden :このサーバーの /phpmyadmin にアクセスする権限がありません。
-
[解決済み] PHPの配列を別の配列にコピーする関数はありますか?
-
[解決済み] libapache2-mod-php7 パッケージの場所がわからない