2016-05-04 10 views
0

私のlaravelアプリケーションでは、ユーザーが自分のマイクを使いたいので、httpsを超えるページが1つ必要です。laravelでhttpsで1ページしか読み込めない場合は、どうすればよいですか?

方法getUserMedia、現在唯一のオーバー許可されます。https

https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-originsは、パフォーマンスのために私はHTTPS経由でのみ可能にするオーディオ録音を行い、このページを望みます。しかし、これは、このページの「secure_asset」を使ってhttpsですべての資産をロードする必要があることも意味します。それは私がすべての私の資産のための私のマスターブレードにこのようなものを持っていることを意味します:

@if(Request::is('record')) 

    <script type="text/javascript" src="{{secure_asset('/js/jquery.js')}}"></script> 

@else 

    <script type="text/javascript" src="{{asset('/js/jquery.js')}}"></script> 

@endif 

laravelルーティングでこれを達成するための最善かつクリーンな方法は何ですか?

+0

パフォーマンス上の理由から、spdyまたはhttp2を使用できる場合は、HTTPSを使用する必要があります。この場合、httpよりも高速です。 – Tom

答えて

1

あなたのroutes.phpには'https' => true]を使用してください。このルート/ページは非常にきれいです。

例:

Route::post('/yourroute', ['uses' => '[email protected]', 'https' => true]); 

更新 また、あなたのpublicフォルダ内の.htaccessファイルを使用することができます。

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 

    RewriteEngine On 

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

    # Redirect specific route to HTTPS 
    # The rule is looking for the content between^and $ and if found in the URL it redirects to https://www.example.com/yourroute 
    RewriteRule ^yourroute$ https://www.example.com/yourroute [L,R=301] 

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 

    # Handle Authorization Header 
    RewriteCond %{HTTP:Authorization} . 
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
</IfModule> 

また、資産については、既に使用しているようにif-elseステートメントが必要です。 secure_asset()asset(..., true)ヘルパーを使用できます。

+0

私は質問で参考にしたような資産を読み込みますか? –

+0

いいえ。アセットを介してアセットを介してロードすることは、2番目のパラメータを「真」にするだけです。 'function asset($ path、$ secure = null)'を参照してください。 - 資産メソッドは、通常は 'null'ですが、HTTPS経由で資産を読み込むためにtrueに設定できる2番目のパラメータをとります。 – codedge

+0

これを好きにしました。 http:Route :: get( '/ record'、['as' => 'レコード'、 '使用' => 'RecordController @インデックス'、 'https' => true]); –

関連する問題