Yii2 advanced assets - файлы не найдены

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
alex_rus
Сообщения: 53
Зарегистрирован: 2016.10.30, 12:14

Yii2 advanced assets - файлы не найдены

Сообщение alex_rus »

Добрый день!
Поставил Yii2 advanced на openserver.
В папке frontend создаю assets:

Код: Выделить всё

class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'css/site.css',
    ];
    public $js = [
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
} 
Но стили и js не подключаются. Все файлы подключаются относительно доменного имени:
http://domain/css/site.css

.htaccess в коре сайта:

Код: Выделить всё

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On
</IfModule>
 
<IfModule mod_rewrite.c>
    # если /admin, то в backend
    RewriteCond %{REQUEST_URI} ^/(admin)
    RewriteRule ^admin/assets/(.*)$ backend/web/assets/$1 [L]
    RewriteRule ^admin/css/(.*)$ backend/web/css/$1 [L]
    RewriteRule ^admin/js/(.*)$ backend/web/js/$1 [L]
    RewriteCond %{REQUEST_URI} !^/backend/web/(assets|js|css|js)/
    RewriteCond %{REQUEST_URI} ^/(admin)
    RewriteRule ^.*$ backend/web/index.php [L]
    RewriteCond %{REQUEST_URI} ^/(assets|css|js|images)
    RewriteRule ^assets/(.*)$ frontend/web/assets/$1 [L]
    RewriteRule ^css/(.*)$ frontend/web/css/$1 [L]
    RewriteRule ^js/(.*)$ frontend/web/js/$1 [L]
    RewriteRule ^images/(.*)$ frontend/web/images/$1 [L]
    RewriteRule ^(.*)$ frontend/web/$1 [L]
    RewriteCond %{REQUEST_URI} !^/(frontend|backend)/web/(assets|css|js)/
    RewriteCond %{REQUEST_URI} !index.php
    RewriteCond %{REQUEST_FILENAME} !-f [OR]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ frontend/web/index.php
</IfModule> 
alex_rus
Сообщения: 53
Зарегистрирован: 2016.10.30, 12:14

Re: Yii2 advanced assets - файлы не найдены

Сообщение alex_rus »

Хоть посоветуйте куда копать. Почему пути к css и js идут относительно доменного имени, но на самом деле они находятся в папке frontend/web/css
Nerf
Сообщения: 780
Зарегистрирован: 2015.01.29, 00:37

Re: Yii2 advanced assets - файлы не найдены

Сообщение Nerf »

В чем проблема то? Относительно чего они должны подключаться по вашему? Что возвращается при обращении к ксс?
Если проблема с путями, то включайте дебаг реврайтов и смотрите логи.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 advanced assets - файлы не найдены

Сообщение zelenin »

установите в качестве корня диру web и выкиньте ваши рерайты
alex_rus
Сообщения: 53
Зарегистрирован: 2016.10.30, 12:14

Re: Yii2 advanced assets - файлы не найдены

Сообщение alex_rus »

zelenin писал(а):установите в качестве корня диру web и выкиньте ваши рерайты
можно поподробнее?
lorderetik
Сообщения: 28
Зарегистрирован: 2015.10.27, 16:40

Re: Yii2 advanced assets - файлы не найдены

Сообщение lorderetik »

не у всех хостинг позволяет редактировать путь, так что я думаю это ситуативно, тоже хотел так сделать, но мой хостинг данного не позволил, есть только директория куда загружать файлы и все, без настроек php и апач
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 advanced assets - файлы не найдены

Сообщение zelenin »

lorderetik писал(а):
не у всех хостинг позволяет редактировать путь, так что я думаю это ситуативно, тоже хотел так сделать, но мой хостинг данного не позволил, есть только директория куда загружать файлы и все, без настроек php и апач
надоели детские проблемы людей, не могущих 5 долларов потратить на нормальный хостинг и десятками создающих темы, касающиеся настройки рерайтов.
Аватара пользователя
Beaten_Sect0r
Сообщения: 234
Зарегистрирован: 2011.06.15, 14:58
Откуда: Ярославль
Контактная информация:

Re: Yii2 advanced assets - файлы не найдены

Сообщение Beaten_Sect0r »

попробуйте так

Код: Выделить всё

# Set the default charset.
AddDefaultCharset UTF-8

# Don't show directory listings for URLs which map to a directory.
Options -Indexes

# Enable symlinks
Options +FollowSymlinks

# Enable mod_rewrite
RewriteEngine On

# Backend redirect
RewriteCond %{REQUEST_URI} ^/admin
RewriteRule ^admin/(.*)$ backend/web/$1 [L]

# Frontend redirect
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteRule ^(.*)$ frontend/web/$1
backend/config/main.php

Код: Выделить всё

    ...
    'components'=>[
        ...
        'request' => [
            'baseUrl' => '/admin',
        ...
frontend/config/main.php

Код: Выделить всё

    ...
    'components'=>[
        ...
        'request' => [
            'baseUrl' => '',
        ...
в директории web

Код: Выделить всё

# Set the default charset.
AddDefaultCharset UTF-8

# Don't show directory listings for URLs which map to a directory.
Options -Indexes

# Follow symbolic links in this directory.
Options +FollowSymLinks

IndexIgnore */*

RewriteEngine On

# Various rewrite rules.

# Set "protossl" to "s" if we were accessed via https://. This is used later
# if you enable "www." stripping or enforcement, in order to ensure that
# you don't bounce between http and https.
RewriteRule ^ - [E=protossl]
RewriteCond %{HTTPS} on
RewriteRule ^ - [E=protossl:s]

# To redirect all users to access the site WITHOUT the 'www.' prefix,
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php
_https://coru.ws
Ответить