Yii 2 advanced rule для backend и frontend?
Yii 2 advanced rule для backend и frontend?
возможно ли при помощи url manager и rule настроить back и front?
что бы
mysite\frontend\web\ => mysite
mysite\backend\web\ => mysite\admin
что бы
mysite\frontend\web\ => mysite
mysite\backend\web\ => mysite\admin
- vitalik1183
- Сообщения: 1675
- Зарегистрирован: 2014.07.01, 08:42
Re: Yii 2 advanced rule для backend и frontend?
Так это делается а .htaccess. Видел у кого-то.
Re: Yii 2 advanced rule для backend и frontend?
не сразу понял что за простыня текста. да спамеры шутят
Re: Yii 2 advanced rule для backend и frontend?
а вообще здесь https://github.com/yiisoft/yii2/issues/1578 приводят такой код
но он чет не работает.
пытался на основании https://github.com/vova07/yii2-start
но не знаю как поправить апач
Код: Выделить всё
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 хоста
Re: Yii 2 advanced rule для backend и frontend?
ну опять двадцать пять. поменял конфиги и роботс.
захожу в конфиг апача
меняю
на
и нифига
ни так http://localhost/yii2rbac.local ни так http://yii2rbac.local/
захожу в конфиг апача
меняю
Код: Выделить всё
#-----------------------------------------------#
# Начало блока конфигурации 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 (28.96 КБ) 6861 просмотр
-
- Сообщения: 957
- Зарегистрирован: 2014.05.31, 20:50
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Yii 2 advanced rule для backend и frontend?
Заменять нельзя, в документации 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.
Обратите внимание - при редактировании конфигурации хоста нельзя удалять или заменять системные переменные %...%, вы можете вносить только новые записи дополняющие конфигурацию.
Re: Yii 2 advanced rule для backend и frontend?
там все папки лежащие в domains становятся доменами.
для такой конфигурации нужно создать свой домен? предположим lc
для такой конфигурации нужно создать свой домен? предположим lc
Re: Yii 2 advanced rule для backend и frontend?
автор https://github.com/vova07/yii2-start подсказал что достаточно запустить опен сервер от админа и вуаля
- Вложения
-
- Screenshot_19.png (93.23 КБ) 6824 просмотра
-
- Screenshot_18.png (133.55 КБ) 6824 просмотра