Лента новостей

Кредит под залог недвижимости
Необходимость в займе финансовых средств может возникнуть как у частного лица, так и предприятия. Сегодня кредитование не является особенной проблемой и, например, получить кредит под залог недвижимости

Недвижимость
Наша великая Родина богата прекрасными населенными пунктами и городами с удивительной архитектурой и комфортными условиями жизни. Конечно, очень привлекательна в этом плане Новосибирск, который расположен

Недвижимость новая рига
Хотите почувствовать себя королями? Хотя нет, так наверное могут жить только боги недвижимость новая рига. Элитный поселок с замечательной архитектурой, открытым спа, бассейнами, фонтанами. Все находиться

Инвестиции в недвижимость Европы: тенденции 2017 года
Для инвесторов: обзор ключевых рынков европейской недвижимости в 2017 году. Недвижимость в Германии Доля недвижимости Германии в ВВП страны сегодня составляет 9,8%. Недвижимость в Германии отличалась

Дешевая Польская недвижимость
Если по какой-то причине мы решили продать квартиру, безусловно, мы хотим, чтобы это сделать как можно скорее и по лучшей цене. Тем не менее, для этого можно, мы должны быть готовы. Ничто не остановит

«Недвижимость» / Госкорпорации отказано в эффективности
По результатам проверки Счетной палатой деятельности Фонда содействия реформированию жилищно-коммунального хозяйства ( Фонд ЖКХ), площадь аварийного жилья в стране выросла на 1,6 млн. квадратных метров

Лизинг недвижимости
Обычно компании берут аванс - 10-20 % со ставкой удорожания 6-8 %, иногда 10-12% в год на срок от 2 до 10 лет, предлагая различные варианты графиков лизинговых платежей. занимаются примерно десяток компаний

Специалист по недвижимости
Наша компания стремиться дать широкие возможности, удобство в работе без лишних трат всем участникам рынка недвижимости Крыма. Аренда квартир, комнат, коттеджей, продажа в Санкт-Петербурге Гильдия риэлторов

Коммерческие помещения | Жилье, недвижимость > Коммерческие помещения | Киев | SLANET
class="top_line"> id="topnav"> class="subcolumns" id="logonav"> id="nav demo" class="hlist"> id="topnav"> id="header_tab"> id="content"> class="c75l"> class="c25r"> class="subcolumns"> class="c75l">

Юрист по недвижимости
При осуществлении такой юридически сложной и трудоемкой сделки, как покупка или продажа квартиры или участка земли, достаточно часто возникает необходимость обращения за специализированной юридической

SEO дружніх URL в Yii2

  1. Основний шаблон
  2. Приховати веб-папку
  3. Розширений шаблон
  4. Посилання зі списку до інтерфейсу
  5. Закінчена коса риса
  6. Налаштування Apache безпосередньо
  7. Правила

Цей підручник надає певну інформацію про конфігурацію Apache та конфігурацію Yii2 для досягнення зручних для користувача та дружніх до пошукових систем URL-адрес для вашого веб-програми.

Основний шаблон

Yii2 чиновник документації є сторінка про конфігурацію хостингу, що надає приклад того, як можна налаштувати Apache для дружніх URL-адрес, використовуючи файл .htaccess.

Options + FollowSymLinks IndexIgnore * / * RewriteEngine на #, якщо каталог або файл існує, використовуйте його безпосередньо RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D # в іншому випадку пересилайте його до index.php RewriteRule. index.php

Після цього вам потрібно налаштувати urlManager у вашому файлі config / web.php.

$ config = [// ... 'components' => ['urlManager' => ['class' => 'yii веб-сервер', 'showScriptName' => false, 'enablePrettyUrl' => true,], // ...

Якщо ваша програма знаходиться в кореневій папці, маршрути виглядатимуть приблизно так: http://yourdomain.com/web/site/index, інакше якщо ваш додаток Yii2 знаходиться в підпапці, вони можуть виглядати так : http: // yourdomain .com / app / web / site / index .

Приховати веб-папку

Ви можете позбутися веб- частини URL, перемістивши всі файли з веб-папки у кореневу папку додатків і змінюючи шляхи в index.php, але цей метод буде змішувати вміст папки / assets / і / папка web / assets /. Ось чому це рішення краще підходить для розширеного шаблону додатків, якщо ви не захочете перенести весь код разом з папкою постачальників в окрему папку, подібну до Yii 1.x.

Кращий спосіб вирішити цю проблему - додавання додаткового файлу .htaccess до кореня програми.

Параметри -Індекси RewriteEngine на RewriteRule ^ (. *) $ Web / $ 1 [L]

Зверніть увагу, що це буде працювати, лише якщо ви маєте вищезгаданий файл .htaccess у веб-каталозі. В іншому випадку запит потрапить у внутрішній цикл перенаправлення.

Є багато веб-сайтів, які демонструють подібні конфігурації, які є більш складними. Оскільки ми перенаправляємо всі запити до веб-папки, не потрібно забороняти доступ до файлів, які починаються з крапки, файлів JSON та інших. Основний шаблон не містить жодного з цих файлів у веб-папці. Для розширеного шаблону можна заборонити доступ до точкових файлів, додавши ці рядки.

<Файли ~ "(^. |

Тепер ми повинні сказати Yii, що наша базова URL-адреса змінилася. Ми робимо це, налаштувавши baseUrl для urlManager і компонент запиту в config / web.php.

$ config = [// ... 'components' => ['urlManager' => ['class' => 'yii веб-сервер', 'showScriptName' => false, 'enablePrettyUrl' => true, 'baseUrl '=>' / ',],' request '=> [' baseUrl '=>' ', // ...], // ...

Якщо ваша програма знаходиться в підтеці, вкажіть назву підпапки в параметрі baseUrl 'baseUrl' => '/ app',.

Розширений шаблон

Розширений шаблон можна налаштувати аналогічно основному шаблону. Файли .htaccess у веб-папках будуть однаковими. Але файл .htaccess для кореневої папки буде іншим, щоб дозволити запити на додаток бекенда.

Options -Indexes RewriteEngine на # якщо запит не на сервер, направляйте його в / frontend / web RewriteCond% {REQUEST_URI}! ^ / Backend RewriteRule ^ (. *) $ / Frontend / web / $ 1 [L] запит до бекенда RewriteRule ^ backend /(.*)$ backend / web / $ 1 [L]

Ці правила не викликають перенаправлення, оскільки запит переписується правилами у файлі .htaccess веб- каталогу.

Не забудьте налаштувати baseUrl для компонента запиту та urlManager.

Посилання зі списку до інтерфейсу

Офіційна документація передбачає, що для того, щоб зробити посилання з додатка бекенда до інтерфейсу, а з інтерфейсу програми на додаток бекенда, ми повинні налаштувати додатковий компонент urlManagerBac kend для програми frontend.

'urlManager' => ['class' => 'yii web' UrlManager ',' baseUrl '=>' ',' enablePrettyUrl '=> true,' showScriptName '=> false,],' urlManagerBackend '=> [' class '=>' yii web UrlManager ',' baseUrl '=>' / backend ',' enablePrettyUrl '=> true,' showScriptName '=> false,],

Крім того, urlManagerFrontend для додатка backend.

'urlManager' => ['class' => 'yii веб-сервер', 'baseUrl' => '/ backend', 'enablePrettyUrl' => true, 'showScriptName' => false,], 'urlManagerFrontend' => ['class' => 'yii web' UrlManager ',' baseUrl '=>' ',' enablePrettyUrl '=> true,' showScriptName '=> false,],

Тоді ви можете використовувати їх так: $ frontendUrl = Yii :: $ app-> urlManagerFrontend-> createUrl (['site / index']);

Це чудово, коли у вас немає правил URL, інакше не тільки вам доведеться дублювати всі правила, але вам доведеться змінити їх у двох місцях. Щоб уникнути цього, ви можете зберегти конфігурацію для urlManagers в окремих файлах і завантажити з функцією require.

'urlManager' => require ('urlmanager.php'), 'urlManagerBackend' => require ('../../ backend / config / url-manager.php'),

Для бекенда:

'urlManager' => require ('urlmanager.php'), 'urlManagerFrontend' => require ('../../ frontend / config / url-manager.php'),

І це, як ви можете зберегти конфігурацію у ваших файлах url-manager.php.

&lt;? php return ['class' => 'yii веб-UrlManager', 'showScriptName' => false, 'enablePrettyUrl' => true,];

Закінчена коса риса

Якщо ви коли-небудь використовували нарізник можливо, ви отримали сповіщення про проблему з кінцями.

Ви можете виправити це, додавши ці два рядки до вашого /web/.htaccess файлу (файлів) відразу після RewriteEngine :

RewriteCond% {REQUEST_FILENAME}! -D RewriteRule ^ (. *) / $ / $ 1 [L, R = 301]

Налаштування Apache безпосередньо

Файли .htaccess зручні, тому що ви можете поєднати їх з вашим додатком і тому, що вам не доведеться перезапускати Apache після зміни чогось у файлі .htaccess, щоб зміни вступили в силу. Але вам також доведеться платити за продуктивність, оскільки Apache має сканувати файли .htaccess на кожен запит. Щоб уникнути цього, ви можете налаштувати Apache з httpd.conf.

Ось приклад конфігурації я використав для VirtualHost на машині Windows.

<VirtualHost *: 80> ServerAdmin webmaster @ mytestapp DocumentRoot "C: wamp www mytestapp - frontend web" Ім'я_сервера mytestapp ErrorLog "logs / mytestapp-error.log" CustomLog "logs / mytestapp-access.log" звичайний псевдонім / admin "C: wamp www mytestapp backend web" <Каталог "C: wamp www mytestapp frontend> web"> RewriteEngine на RewriteCond% {REQUEST_FILENAME}! -f RewriteCond% {REQUEST_FILENAME}! -d RewriteRule. index.php AllowOverride Немає дозволу, заборонити Дозволити з усіх </Directory> <Directory "C: wamp www mytestap backend>> RewriteEngine на RewriteCond% {REQUEST_FILENAME}! -f RewriteCond% {REQUEST_FILENAME}! - d RewriteRule. index.php AllowOverride Немає дозволу, заборонити дозвіл від усіх </Directory> </VirtualHost>

Зауважте, що в цій конфігурації серверний додаток доступний через маршрут / admin.

Правила

Тепер, коли ми отримали конфігурацію, ми можемо почати вдосконалення наших URL-адрес.

'urlManager' => ['class' => 'yii web' UrlManager ',' baseUrl '=>' / ',' enablePrettyUrl '=> true,' showScriptName '=> false,' enableStrictParsing '=> true,' rules '=> [' / '=>' site / index ',' about '=>' site / about ',' contact '=>' сайт / контакт ',' login '=>' сайт / логін ',' logout '=>' site / logout ',' captcha '=>' site / captcha ',' signup '=>' сайт / реєстрація ',' request-password-reset '=>' site / request-password-reset ' , 'reset-password' => 'site / reset-password',],],

'enableStrictParsing' => true, повідомляє Yii2, щоб дозволити лише маршрути, які вказані в правилах. Ви самі вирішите, хочете ви цього чи ні.

Незабаром з'явиться підручник з розширеної маршрутизації з urlManager.

Пов'язані

Lt;?