簡體   English   中英

如何在Laravel 4中將一條路由重定向到HTTPS,將所有其他路由重定向到HTTP?

[英]How to redirect one route to HTTPS and all the others to HTTP in Laravel 4?

我想在我的網站上以“ HTTPS”作為結帳頁面,但我網站上的所有其他頁面都必須保持“ HTTP”。 我的SSL證書已正確安裝,並且SSL路由在我的服務器上工作正常。

我在filters.php中添加了2個函數:一個函數強制ssl(force.ssl),另一個函數(no.ssl)將網頁用作http。

Route::filter('force.ssl', function()
{
if( ! Request::secure() && App::environment() !== 'local')
{
return Redirect::secure(Request::getRequestUri());
}
});

Route::filter('no.ssl', function()
{
if( Request::secure())
{
return Redirect::to(Request::path(), 302, array(), false);
}
});

我在routes.php中添加了以下路由。

Route::when('checkout/getpaymentpage/*', 'force.ssl');
Route::when('/*', 'no.ssl');

結帳頁面將重定向到HTTPS頁面,但是,如果用戶隨后決定通過單擊導航欄中的鏈接來導航到我網站上的另一頁面,則下一頁也將用作HTTPS頁面,而不是HTTP頁面。 即使我顯式添加了一條路由,以將所有其他頁面顯示為非HTTP(no.ssl)。

我不確定我在做什么錯嗎? 如何確保僅將我的結帳頁面用作HTTPS?

您為什么不只對整個站點進行HTTPS?

您將獲得Google的免費SEO提升: http : //googlewebmastercentral.blogspot.com.au/2014/08/https-as-ranking-signal.html

事實是,服務器開銷不會有任何實際變化。

否則,您需要做很多工作來當前趨勢背道而馳,以使整個Web成為https ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM