Laravel перенаправить все http на https - PullRequest
0 голосов
/ 24 января 2019

У меня есть веб-сайт в Laravel, который я недавно перешел на https.Мне удалось перенаправить все безопасные не-www (https://) URL-адреса на www (https://www.)) с помощью других сообщений, но я застрял при получении обоих небезопасных вариантов (http://) и (*)1005 *http://www.) перенаправлено на безопасные варианты www (https://www.)

При вызове небезопасной версии www: http://www.apk -vervaldatum.nl ,

Перенаправляет на: https://www.apk -vervaldatum.nl / public / https://www.apk -vervaldatum.nl

Когда вы вызываете небезопасную версию без www:http://apk -vervaldatum.nl ,

Сначала перенаправляется на: https://www.apk -vervaldatum.nl

Затем перенаправляется на: https://www.apk -vervaldatum.nl / public / https://www.apk -vervaldatum.nl

Мой htaccess в корневой папке выглядит так:

*Options +FollowSymLinks 
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ public/$1 [L]*

Мои htacces в общей папкевыглядит это:

*Options -MultiViews -Indexes 
RewriteEngine On # Handle Authorization Header 
RewriteCond %{HTTP:Authorization} . 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 

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

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

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Ваш .htaccess должен быть:

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

    RewriteEngine On

    # Start with www 
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
    RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301]


    RewriteCond %{HTTP:X-Forwarded-Proto} !https 
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


    # 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]

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

</IfModule>
0 голосов
/ 24 января 2019

Здесь у вас есть способ как использовать HTTPS

Перейти к AppServiceProvider:

namespace App\Providers;

use Illuminate\Support\Facades\URL;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        URL::forceScheme('https'); // add this
    }
}

Другой подход - это изменение .htaccess:

RewriteEngine On

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

Удачи!

...