将所有Http请求重定向到Laravel 5中的Https

时间:2016-02-04 06:56:17

标签: php http laravel https laravel-5

我正在尝试将我的所有http请求重定向到Laravel 5中的https.Laravel 5中是否有任何文档用于此操作。另外,帮我编写代码如何做到这一点。提前谢谢。

3 个答案:

答案 0 :(得分:2)

您可以使用htaccess文件从http重定向到https。将以下代码放在.htaccess文件中。

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

OR

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

OR

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
// change example.com with your website domain
// This will redirect all requests received on port 80 to HTTPS.

要了解规则的运作方式,请检查此link

在许多情况下,您还可以将这些行添加到要将http重定向到https的文件夹中名为.htaccess的文件中。

现在,当访问者输入http://www.yoursite.com/mypage.htm时,服务器会自动将http重定向到https,以便他们转到https://www.yoursite.com/mypage.htm

注意:您还可以在配置文件或.htaccess文件中将此页面从http重定向到Apache中的http:

RewriteEngine On
RewriteRule ^apache-redirect-http-to-https\.html$ https://www.yoursite.com/apache-redirect-http-to-https.html [R=301,L]

link也可以为您提供帮助。

希望它会对你有所帮助:)。

答案 1 :(得分:1)

嘿,重定向您必须在控制器中使用的任何页面

$arr1 = array(
   "name" => array(
        1 => "hello",
        4 => "test",
       21 => "test2",
    ),
   "runKm" => array(
        1 => "100",
        4 => "200",
        21 => "300",
    ),
  "active" => array(
        1 => "1",
        4 => "0",
        21 => "0",
        ),
    );

 // declare another that will hold the new structure of the array
 $nArr = array();
 foreach($arr1 as $key => $val) {
     foreach($val as $sub_key => $sub_val) {
        $nArr[$sub_key][$key] = $sub_val;
    }
 }

在你的功能中你可以像这样打电话给你想要的

use Redirect;

并重定向回来你可以使用这个

return Redirect::route('foldername.filename') //ex - return Redirect::route('consignees.show')

检查此link

答案 2 :(得分:-1)

我在路线文件的顶部添加了URL::forceSchema("https");并且它有效! 它在Laravel 5.2中将链接更改为https