Общие / web / js и css 404 не найдены при преобразовании backend / web в admin и frontend / web в myproject / - PullRequest
0 голосов
/ 18 июня 2019

В моем проекте Yii2 я переписал URL-адрес из myproject / backend / web в myproject / admin и из myproject / frontend / web в myproject /.

Внешний интерфейс работает нормально, но в бэкэнде не загружается общий / web / css / и общий / web / js /, и я все это перенаправляю на внешний интерфейс и выдает ошибку 404 страницы не найдена.

Я проверил путь css и js, и он правильный, как показано ниже: MyProject / общий / веб / CSS / style.css. все css и js загружены с правильными путями, но он перенаправляет в другое место.

Я использовал приведенный ниже код для переписывания:

Я добавил это .htaccess:

RewriteEngine On

# End the processing, if a rewrite already occurred
RewriteRule ^(frontend|backend)/web/ - [L]

# Handle the case of backend, skip ([S=1]) the following rule, if current matched
RewriteRule ^admin(/(.*))?$ backend/web/$2 [S=1]

# handle the case of frontend
RewriteRule .* frontend/web/$0

# Uncomment the following, if you want speaking URL
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^([^/]+/web)/.*$ $1/index.php

Я добавил эти две строки в backend / config / main.php:

'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'scriptUrl'=> ($_SERVER['HTTP_HOST'] == "localhost") ? '/chiefsRS/admin' : '/admin',
 'rules' => [
                'login'=>'site/login',
                'dashboard'=>'site/index',
            ]
 ],
  'request' => [
            'baseUrl'=>($_SERVER['HTTP_HOST'] == "localhost") ? '/myproject/admin' : '/admin',        
               ],

Я добавил эти две строки в frontend / config / main.php:

'request' => [
            'baseUrl'=> ($_SERVER['HTTP_HOST'] == "localhost") ? '/myproject' : '',

        ],
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false,
            'scriptUrl'=>($_SERVER['HTTP_HOST'] == "localhost") ? '/myproject' : '',
            'rules' => [
                'home'=>'site/index',
            ]
        ]

На моем локальном сервере загружены некоторые css из общих, а некоторые выдают ошибку 404. На живом сервере все css и js из common / web выдают ошибку 404 страницы не найдена. И страница ошибок имеет навигационную панель внешнего интерфейса, так что я думаю, что все css и js перенаправляются на внешний.

1 Ответ

0 голосов
/ 20 июня 2019

У меня проблема с моим файлом .htaccess. Я изменил свой htaccess следующим образом:

RewriteEngine On

RewriteRule ^(common)/ - [L]

# End the processing, if a rewrite already occurred
RewriteRule ^(frontend|backend)/web/ - [L]

# Handle the case of backend, skip ([S=1]) the following rule, if current matched
RewriteRule ^admin(/(.*))?$ backend/web/$2 [S=1]



# handle the case of frontend
RewriteRule .* frontend/web/$0

# Uncomment the following, if you want speaking URL
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^([^/]+/web)/.*$ $1/index.php
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...