Как настроить .htaccess для Yii2 advanced?

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

Как настроить .htaccess для Yii2 advanced?

Сообщение specterguy »

Здравствуйте!

Обшарил "весь" интернет, не нашел нормальной настройки .htaccess для Yii2 advanced

Проблема: Обследовав платные (не VPS) и бесплатные хостинги оказалось, что почти везде можно крепить хотя бы один домен + создавать множество поддоменов, но ни один из них не позволил мне изменить docroot в настройках хостинга (не .htaccess)

Цель: Есть domain.com - frontend и cp.domain.com - backend. Нужно при помощи .htaccess позволить обращаться к файлам
domain.com/index.php
и
domain.com/index-test.php

Моё начальное решение:
в корне .htaccess:

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

<IfModule mod_rewrite.c>
    Options -Indexes
    RewriteEngine On
</IfModule>

<IfModule mod_rewrite.c>
    RewriteCond %{HTTP_HOST} ^cp.(.*)$ [NC]
    RewriteRule ^(.*)$ backend/web/$1 [L]

    RewriteRule ^(.*)$ frontend/web/$1 [L]
</IfModule>
в папках /frontend/web/ и /backend/web/ файл .htaccess:

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

<IfModule mod_rewrite.c>
    RewriteEngine on

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

    RewriteRule . index.php
</IfModule>
Файлы конфигов backend и frontend должны содержать в компонентах елементы:

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

    'assetManager' => [
            'basePath' => '@webroot/assets',
            'baseUrl' => '@web/assets'
        ],
        'request' => [
            'baseUrl' => ''
        ],
        'urlManager' => [
            'enablePrettyUrl' => true,
            'showScriptName' => false
        ]
Теперь, если перейти по ссылкам
domain.com/
domain.com/favicon.ico
domain.com/robots.txt
domain.com/css/style.css
domain.com/assets/somestype.css
то все работает

Но не работают
domain.com/index.php
domain.com/index-test.php (как же без тестов?)

Ожидаемый конечный результат:
Заливаем все файлы-исходники кроме папки /frontend "в" домен cp.domain.com
Заливаем все файлы-исходники кроме папки /backend "в" домен domain.com

1) Работающие тесты на фронтенде, /index.php, ссылки на стили без /frontend/web/
2) Полностью рабочий Yii - чтобы ничего не было урезано (например, миграции) из-за изменений файлов .htaccess

Спасибо всем, кто решился помочь!

lavrik
Сообщения: 110
Зарегистрирован: 2013.03.02, 21:41
Контактная информация:

Re: Как настроить .htaccess для Yii2 advanced?

Сообщение lavrik »

я вот так решил проблему - http://lavrik-v.ru/info/260/YII_2_ADVAN ... rojki.html
lavrik-v.ru - моя напоминалка по php.


Евгений Емельянов
Сообщения: 167
Зарегистрирован: 2015.06.10, 10:43

Re: Как настроить .htaccess для Yii2 advanced?

Сообщение Евгений Емельянов »

Nerf писал(а):Посмотрите https://github.com/mickgeek/yii2-advanc ... ain-config
Вы посмотрите на дату создания поста! По ходу, тут отвечать не надо....

Евгений Емельянов
Сообщения: 167
Зарегистрирован: 2015.06.10, 10:43

Re: Как настроить .htaccess для Yii2 advanced?

Сообщение Евгений Емельянов »

К тому же все отвечают не по теме: вопрос про размещение backend'a на поддомене, а не в подпапке.

Nerf
Сообщения: 780
Зарегистрирован: 2015.01.29, 00:37

Re: Как настроить .htaccess для Yii2 advanced?

Сообщение Nerf »

Вы посмотрите на дату создания поста! По ходу, тут отвечать не надо....
Вы посмотрите кто тему поднял.
К тому же все отвечают не по теме: вопрос про размещение backend'a на поддомене, а не в подпапке.
В чем кардинальное отличия, учитывая что там и там надо по условию редиректить?

Аватара пользователя
chungachguk
Сообщения: 432
Зарегистрирован: 2012.07.17, 11:52

Re: Как настроить .htaccess для Yii2 advanced?

Сообщение chungachguk »

Nerf писал(а):
Вы посмотрите на дату создания поста! По ходу, тут отвечать не надо....
Вы посмотрите кто тему поднял.
А кто это?

Nerf
Сообщения: 780
Зарегистрирован: 2015.01.29, 00:37

Re: Как настроить .htaccess для Yii2 advanced?

Сообщение Nerf »

chungachguk писал(а):
Nerf писал(а):
Вы посмотрите на дату создания поста! По ходу, тут отвечать не надо....
Вы посмотрите кто тему поднял.
А кто это?
Не я)

Ответить