Объединяем 2 разных скрипта где-то ошибка

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
UrlRule
Сообщения: 13
Зарегистрирован: 2016.05.27, 15:26

Объединяем 2 разных скрипта где-то ошибка

Сообщение UrlRule »

Добрый вечер.
Попросили написать скрипт личного кабинета, который работает через api со сторонним сервисом. Основной сайт (8 страниц) сделан на WP.
Учитывая запросы с основного сайта для просчета стоимости калькулятором и просьбу заказчика, нужно без выноса на поддомен разместить 2 скрипта. Сайт должен работать на стандартном хостинге с apache.
Что делаю:
1) В папке site (где расположен скрипт WP) создаю папку "promo"
2) В папку promo кидаю весь скрипт на yii2.
3) В файле site/.htaccess

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

RewriteCond %{REQUEST_URI} ^/lk/
RewriteRule ^(.*)$ promo/web/index.php [L]

RewriteCond %{REQUEST_URI} ^/lk(assets|css|js|images|uploads|fonts)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ promo/web/index.php [L]
4) В файле site/promo/web/.htaccess:

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

RewriteBase /promo/web

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
5) В конфиге yii2 (main.php - у меня так) добавляю:

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

'request' => [
	'baseUrl' => '/lk',
]
Как результат - все файлы js, css, assets 500 ошибка. (Unable to resolve the request "css/media.css")
Если baseUrl поставить "lk" (без слеша), то везде Mime не проставляется, но файлы находит.

Подскажите, где косяк, может что-то делаю не так? :?:
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Объединяем 2 разных скрипта где-то ошибка

Сообщение SiZE »

это зачем? RewriteCond %{REQUEST_URI} ^/lk(assets|css|js|images|uploads|fonts)
UrlRule
Сообщения: 13
Зарегистрирован: 2016.05.27, 15:26

Re: Объединяем 2 разных скрипта где-то ошибка

Сообщение UrlRule »

Для разграничения. У WP есть тоже свои css, js, чтобы не отправлять все на скрипт yii2
UrlRule
Сообщения: 13
Зарегистрирован: 2016.05.27, 15:26

Re: Объединяем 2 разных скрипта где-то ошибка

Сообщение UrlRule »

Size, спасибо за подсказку.
Поковырял через код, как итог нашел, что получал разные данные в baseUrl и pathInfo(который берется из getUrl)
BaseUrl был lk/web
PathInfo был lk/vhod
Отсюда и срабатывало правило urlRule - '' (дефолтное)
Переименовал папку promo в lk
Файл site/.htaccess:
**************************************************************************************
Allow from all
Satisfy Any

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

#BEGIN YII2
RewriteRule ^/lk/assets/(.*)$ /lk/web/assets/$1 [L]
RewriteRule ^/lk/css/(.*)$ /lk/web/css/$1 [L]
RewriteRule ^/lk/js/(.*)$ /lk/web/js/$1 [L]
RewriteRule ^/lk/images/(.*)$ /lk/web/images/$1 [L]
RewriteRule ^/lk/uploads/(.*)$ /lk/web/uploads/$1 [L]

RewriteCond %{REQUEST_URI} ^/lk/
RewriteRule ^(.*) /lk/web/$1 [L]
#END YII2

#BEGIN WordPress /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
****************************************************************************************
файл site/lk/.htaccess и site/lk/web/.htaccess - использовал стандартные для yii2 apache, чтобы убрать web.
Все взлетело. Выложил, возможно у кого-то будет подобный вопрос, чтобы получил и ответ :)
Ответить