Задать вопрос

Yii2 — после настройки чпу, слетают файлы css и js. В чем может быть причина?

Решил настроить ЧПУ на yii2(openserver), нашел инструкцию:
1. В корне разместил .htaccess:
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

RewriteCond %{REQUEST_URI} !^/(web)
RewriteRule ^assets/(.*)$ /web/assets/$1 [L]
RewriteRule ^css/(.*)$ web/css/$1 [L]
RewriteRule ^js/(.*)$ web/js/$1 [L]
RewriteRule ^images/(.*)$ web/images/$1 [L]
RewriteRule (.*) /web/$1

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /web/index.php


2. В папке web разместил .htacces
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php


3. В файле web.php раскоментировал строки:
'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'rules' => [
            ],
        ],

и добавил
'baseUrl' => '',
После добавления baseUrl у меня отключаются все стили и скрипты и консоль выдает:
GET site.ru/css/site.css net::ERR_ABORTED - кто сталкивался с данной проблемой?
  • Вопрос задан
  • 745 просмотров
Подписаться 4 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 4
usdglander
@usdglander
Yipee-ki-yay
Сначала настройте виртуальный хост чтобы он смотрел в папку web. Сейчас, по все видимости он смотрит у вас на уровень выше, в каталог приложения и фреймворка.
Ответ написан
Комментировать
bubandos
@bubandos
bash'у, javascript'ую, php'лю, css'аю, html'каю
а файл style.css ваш в какой папке на сервере лежит?
Ответ написан
Комментировать
@AwFuL999 Автор вопроса
Ручное перенаправление через "Домены" в опенсервере работает(скрыл web и еще закоментил 'baseUrl' => ''). Файлы лежат по дефолту: site.ru->web->css->site.css

Но хотелось бы понять в чем причина, т.к. как вроде метод рабочий.
Ответ написан
Комментировать
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Вы какой-то ад городите. Ваш домен должен смотреть в web а не на два уровня выше, тогда первый htaccess не нужен вовсе и все работать будет как часы.
Я пробовал по началу (по глупости и неопытности) такой же подход, как Вы. Сложности только начинаются, да и безопасность под вопросом большим. Просто направьте сервер в папку web и все.
Если есть проблемы с настройкой сервера, то просто сделайте иначе:
в корень все из папки web, а весь framework в другую. Останется только подправить пути в index.php там 6 строчек.
Посмотрите видео: https://youtu.be/hg5t5F3HdM4?list=PLOm4dl-NavgyBnt...
Это структура для sharedhosting и случаев, когда иначе ни как. Но проще и лучше наверное просто домен направить в web.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы