当前位置: 首页 > 知识库问答 >
问题:

Laravel将Http重定向到Https

郭华美
2023-03-14

我们使用拉维5。要将http连接重定向到https,请使用中间件HttpsProtocol。

namespace MyApp\Http\Middleware;

use Closure;

class HttpsProtocol {

    public function handle($request, Closure $next)
    {
            if (!$request->secure() && env('APP_ENV') === 'prod') {
                return redirect()->secure($request->getRequestUri());
            }

            return $next($request); 
    }
}

在我们的4个测试用例中,只有1个正确工作(最后一个重定向)。其他3种情况的中间件添加了url extra index.php。

http://www.aqualink.az/index.php ---

共有3个答案

唐钊
2023-03-14

在虚拟主机上更改后,您可以在公共文件夹上使用. 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]

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

# Force SSL
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
杨征
2023-03-14

我认为最好使用web服务器将所有HTTP请求重定向到HTTPS。Apache的VH配置示例:

<VirtualHost test.app:80>
   ServerName test.app
   Redirect permanent / https://test.app
</VirtualHost>

<VirtualHost test.app:443>
    ....
</VirtualHost>
南门鸿哲
2023-03-14

我用htaccess解决了这个问题

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
 类似资料:
  • 问题内容: 我如何在Spring Webflux中配置http-> https重定向?我需要将所有请求重定向到(据我所知,任何请求都应具有http状态响应,并带有更改http-> https)。在文档中未找到有关此信息的任何信息。我找到了这个答案,但它与tomcat有关。我有净值。 问题答案: 我找到了方法,希望对您有所帮助:

  • 如何在spring WebFlux中配置HTTP->HTTPS重定向?我需要将所有请求重定向到(根据我的理解,任何请求都应该具有http状态响应,并更改HTTP->HTTPS)。在文档中没有找到任何关于它的信息。我找到了这个答案,但它与Tomcat有关。我有奈蒂。

  • 请不要向我推荐超过173票的长而详细的帖子。这对我不起作用。我也试过很多其他的(1,2,3,4)。他们都给我太多的重定向或错误500。因此,我的问题是: 用我的电流。htaccess,这就是发生的情况: https://www.dukescasino.com/-工作完美 https://dukescasino.com/-重定向到上面的内容,这很好 下面的两个选项加载罚款,但它应该重定向到https

  • 我想问一下HTTP到HTTPS的重定向。正如我们所知,重定向是通过从web服务器端重定向来实现的。但是,当涉及到https重定向时,它可以通过两种方式完成,服务器端()和应用程序端()。我想知道: 以下哪种方法有效且性能更好。 考虑到同一服务器上的多个域和域,每种方法的优缺点 非常感谢。 参考: 将Laravel中的WWW重定向到非WWW-堆栈溢出

  • 重定向到 不执行。谁面临过类似的问题?

  • 我有一个域有3个子域: 在我的nginx上有以下3个配置: API null