Как всегда перенаправить на https://www.? - PullRequest
1 голос
/ 21 сентября 2019

Как сделать так, чтобы мой сайт laravel 5.8 всегда работал с префиксом https://www.?В .htaccess я написал

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

    RewriteEngine On

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


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


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

        RedirectMatch 404 /\.git

#       RewriteRule ^$ info.php [QSA]

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

Но похоже, что RewriteRule неприменим, в некоторых случаях, когда я запускаю URL, как «mysite.com», браузер перенаправляет «https://mysitede.com”. Также, чтобы быть уверенным, что я работаюhttps в моем приложении / Providers / AppServiceProvider.php У меня есть:

class AppServiceProvider extends ServiceProvider
{
    use funcsTrait;

    public function boot()
    {

        if( $this->isHttpsProtocol() ) {  // check I am not on local server
            \URL::forceScheme('https');
        }

Какое решение?

1 Ответ

1 голос
/ 21 сентября 2019

Следующий код .htaccess перенаправляет запросы на https и www-версии ваших веб-страниц.Добавьте в корень вашего сайта файл .htaccess:

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)$  [NC]
RewriteRule (.*) https://www.%1/$1 [R=301,L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...