Yii 2 advanced rule для backend и frontend?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
des1roer
Сообщения: 391
Зарегистрирован: 2015.02.06, 17:03
Контактная информация:

Yii 2 advanced rule для backend и frontend?

Сообщение des1roer »

возможно ли при помощи url manager и rule настроить back и front?
что бы
mysite\frontend\web\ => mysite
mysite\backend\web\ => mysite\admin
Аватара пользователя
vitalik1183
Сообщения: 1675
Зарегистрирован: 2014.07.01, 08:42

Re: Yii 2 advanced rule для backend и frontend?

Сообщение vitalik1183 »

возможно
Yii2!
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii 2 advanced rule для backend и frontend?

Сообщение ElisDN »

Так это делается а .htaccess. Видел у кого-то.
Аватара пользователя
des1roer
Сообщения: 391
Зарегистрирован: 2015.02.06, 17:03
Контактная информация:

Re: Yii 2 advanced rule для backend и frontend?

Сообщение des1roer »

не сразу понял что за простыня текста. да спамеры шутят
Аватара пользователя
des1roer
Сообщения: 391
Зарегистрирован: 2015.02.06, 17:03
Контактная информация:

Re: Yii 2 advanced rule для backend и frontend?

Сообщение des1roer »

а вообще здесь https://github.com/yiisoft/yii2/issues/1578 приводят такой код

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


To avoid duplicating rules, perhaps after $params definition in frontend/config/main.php (vice versa in backend)

$urlManagerBackEnd = require(__DIR__ . '/../../backend/config/urlManager.php');
$urlManager = require(__DIR__ . '/urlManager.php');

and then

    'components' => [
        ...
        'urlManager' => $urlManager,
        'urlManagerBackEnd' => $urlManagerBackEnd,
    ],

where urlManager.php is something like this in the frontend

<?php
return [
    'class' => 'yii\web\urlManager',
    'baseUrl' => '//mydomain.com',
    'showScriptName' => false,
    'enablePrettyUrl' => true,
    'rules' => [
        ...
    ],
];

and this in the backend (using admin subdomain)

<?php
return [
    'class' => 'yii\web\urlManager',
    'baseUrl' => '//admin.mydomain.com',
    'showScriptName' => false,
    'enablePrettyUrl' => true,
    'rules' => [
        ...
    ],
];

 
но он чет не работает.

пытался на основании https://github.com/vova07/yii2-start

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

For Apache:

<VirtualHost *:80>
    ServerName www.yii2-start.domain # You need to change it to your own domain  
    ServerAlias yii2-start.domain # You need to change it to your own domain  
    DocumentRoot /my/path/to/yii2-start # You need to change it to your own path  
    <Directory /my/path/to/yii2-start> # You need to change it to your own path  
        AllowOverride All  
    </Directory>  
</VirtualHost>

    Use the URL http://yii2-start.domain to access application frontend.
    Use the URL http://yii2-start.domain/backend/ to access application backend.
 
но не знаю как поправить апач

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

#-----------------------------------------------#
# Начало блока конфигурации HTTP хоста
#-----------------------------------------------#

            <VirtualHost *:%httpport%>
                DocumentRoot    "%hostdir%"
                ServerName      "%host%"
                ServerAlias     "%host%" %aliases%
                ScriptAlias     /cgi-bin/ "%hostdir%/cgi-bin/"
            </VirtualHost>



#-----------------------------------------------#
# Конец блока конфигурации HTTP хоста
#-----------------------------------------------#

#-----------------------------------------------#
# Начало блока конфигурации HTTPS хоста
#-----------------------------------------------#
<VirtualHost *:%httpsport%>
    DocumentRoot    "%hostdir%"
    ServerName      "%host%"
    ServerAlias     "%host%" %aliases%
    ScriptAlias     /cgi-bin/ "%hostdir%/cgi-bin/"

    SSLEngine    on

    SetEnvIf User-Agent ".*MSIE [1-5].*" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0

    SetEnvIf User-Agent ".*MSIE [6-9].*" \
    ssl-unclean-shutdown
</VirtualHost>
#-----------------------------------------------#
# Конец блока конфигурации HTTPS хоста 
Аватара пользователя
des1roer
Сообщения: 391
Зарегистрирован: 2015.02.06, 17:03
Контактная информация:

Re: Yii 2 advanced rule для backend и frontend?

Сообщение des1roer »

ну опять двадцать пять. поменял конфиги и роботс.
захожу в конфиг апача
меняю

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

#-----------------------------------------------#
# Начало блока конфигурации HTTP хоста
#-----------------------------------------------#

            <VirtualHost *:%httpport%>
                DocumentRoot    "%hostdir%"
                ServerName      "%host%"
                ServerAlias     "%host%" %aliases%
                ScriptAlias     /cgi-bin/ "%hostdir%/cgi-bin/"
            </VirtualHost>



#-----------------------------------------------#
# Конец блока конфигурации HTTP хоста
#-----------------------------------------------#

#-----------------------------------------------#
# Начало блока конфигурации HTTPS хоста
#-----------------------------------------------#
<VirtualHost *:%httpsport%>
    DocumentRoot    "%hostdir%"
    ServerName      "%host%"
    ServerAlias     "%host%" %aliases%
    ScriptAlias     /cgi-bin/ "%hostdir%/cgi-bin/"

    SSLEngine    on

    SetEnvIf User-Agent ".*MSIE [1-5].*" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0

    SetEnvIf User-Agent ".*MSIE [6-9].*" \
    ssl-unclean-shutdown
</VirtualHost>
#-----------------------------------------------#
# Конец блока конфигурации HTTPS хоста
#-----------------------------------------------# 
на

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

<VirtualHost *:80>
    ServerName advanced.local
    #ErrorLog /dev/null
    #LogLevel emerg
    #CustomLog /dev/null combined

    RewriteEngine on
    # the main rewrite rule for the frontend application
    RewriteCond %{REQUEST_URI} !^/(backend/web|admin)
    RewriteRule !^/frontend/web /frontend/web%{REQUEST_URI} [L]
    # redirect to the page without a trailing slash (uncomment if necessary)
    #RewriteCond %{REQUEST_URI} ^/admin/$
    #RewriteRule ^(/admin)/ $1 [L,R=301]
    # disable the trailing slash redirect
    RewriteCond %{REQUEST_URI} ^/admin$
    RewriteRule ^/admin /backend/web/index.php [L]
    # the main rewrite rule for the backend application
    RewriteCond %{REQUEST_URI} ^/admin
    RewriteRule ^/admin(.*) /backend/web$1 [L]

    DocumentRoot /path/to/advanced
    <Directory />
        Options FollowSymLinks
        AllowOverride None
        AddDefaultCharset utf-8
    </Directory>
    <Directory D:/open/OpenServer/domains/localhost/yii2rbac/frontend/web>
        RewriteEngine on
        # if a directory or a file exists, use the request directly
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        # otherwise forward the request to index.php
        RewriteRule . index.php

        Order Allow,Deny
        Allow from all
    </Directory>
    <Directory D:/open/OpenServer/domains/localhost/yii2rbac/backend/web/>
        RewriteEngine on
        # if a directory or a file exists, use the request directly
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        # otherwise forward the request to index.php
        RewriteRule . index.php

        Order Allow,Deny
        Allow from all
    </Directory>
    <FilesMatch \.(htaccess|htpasswd|svn|git)>
        Deny from all
        Satisfy All
    </FilesMatch>
</VirtualHost>
 
и нифига
ни так http://localhost/yii2rbac.local ни так http://yii2rbac.local/
Вложения
Screenshot_15.png
Screenshot_15.png (28.96 КБ) 6850 просмотров
mickgeek
Сообщения: 957
Зарегистрирован: 2014.05.31, 20:50
Откуда: Санкт-Петербург
Контактная информация:

Re: Yii 2 advanced rule для backend и frontend?

Сообщение mickgeek »

Заменять нельзя, в документации Open Server написано:
Как мне создать собственную конфигурацию хоста для домена?

Используйте шаблон конфигурации виртуального хоста в папке с нужным доменом для создания особой конфигурации домена. При создании/изменении файла требуется перезапуск сервера. Шаблон конфигурации для нужного модуля можно найти в папке ./userdata/config/.

Например, если вы хотите создать собственную конфигурацию домена xxx.ru для модуля Apache-2.4.2, то скопируйте файл ./userdata/config/Apache-2.4.3_vhost.conf в папку с нужным доменом, отредактируйте этот файл под свои нужды и перезапустите сервер.

Или другой пример, при использовании модуля Apache+Nginx можно скопировать в папку домена оба файла конфигурации для каждого сервера: Apache-2.2.23+Nginx-1.2.4_vhosta.conf и Apache-2.2.23+Nginx-1.2.4_vhostn.conf.

Обратите внимание - при редактировании конфигурации хоста нельзя удалять или заменять системные переменные %...%, вы можете вносить только новые записи дополняющие конфигурацию.
И поиграйтесь с параметрами раздела "Домены" в настройках.
Аватара пользователя
des1roer
Сообщения: 391
Зарегистрирован: 2015.02.06, 17:03
Контактная информация:

Re: Yii 2 advanced rule для backend и frontend?

Сообщение des1roer »

там все папки лежащие в domains становятся доменами.
для такой конфигурации нужно создать свой домен? предположим lc
Изображение
Аватара пользователя
des1roer
Сообщения: 391
Зарегистрирован: 2015.02.06, 17:03
Контактная информация:

Re: Yii 2 advanced rule для backend и frontend?

Сообщение des1roer »

автор https://github.com/vova07/yii2-start подсказал что достаточно запустить опен сервер от админа и вуаля
Вложения
Screenshot_19.png
Screenshot_19.png (93.23 КБ) 6813 просмотров
Screenshot_18.png
Screenshot_18.png (133.55 КБ) 6813 просмотров
Ответить