Ответы пользователя по тегу htaccess
  • Как сделать редирект с http на https для сайта на YII2 (basic) через .htaccess?

    volego
    @volego Автор вопроса
    Fullstack web-разработчик
    Спасибо за внимание!
    Проблема решилась следующим образом: .htaccess, который в корне публичной папки, отредактировал:
    Options +FollowSymLinks
    IndexIgnore */*
    RewriteEngine on
    
    #enable HTTPS only
    #RewriteCond %{HTTPS} !=on
    #RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
    
    #remove WWW
    #RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
    #RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
    
    RewriteCond %{REQUEST_URI} !^/(web)
    RewriteRule ^assets/(.*) /web/assets/$1 [L]
    RewriteRule ^css/(.*) /web/css/$1 [L]
    RewriteRule ^scss/(.*) /web/scss/$1 [L]
    RewriteRule ^js/(.*) /web/js/$1 [L]
    RewriteRule ^img/(.*) /web/img/$1 [L]
    RewriteRule ^fonts/(.*) /web/fonts/$1 [L]
    RewriteRule (.*) /web/$1
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /web/index.php

    .htaccess, который в папке web оставил без изменений:
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php

    И все отлично стало работать:
    1) для всех URL где нет https - редиректит на https
    2) для всех URL где есть WWW - убирает его
    Ответ написан
    Комментировать