Как настроить приложение на Yii2 на хостинге?
Впервые устанавливаю приложение на хостинге на Yii2 (advanced-шаблон) и у меня возникла такая проблема, что главная страница сайта загружается и отображается, но при переходе по ссылкам я остаюсь на той же странице ХОТЯ в адресной строке появляются ссылки на которые я якобы перехожу. На локальной машине все работает хорошо. В приложении я изменил дефолтный шаблон и дефолтный роут на свой.
<?php
$params = array_merge(
require __DIR__ . '/../../common/config/params.php',
require __DIR__ . '/../../common/config/params-local.php',
require __DIR__ . '/params.php',
require __DIR__ . '/params-local.php'
);
return [
'id' => 'app-frontend',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'layout' => 'blog', // меняем шаблон сайта
'language' => 'ru', // устанавливаем язык приложения
'name' => 'мой сайт', // устанавливаем название приложения
'defaultRoute' => 'blog/index', // устанавливаем начальную страницу сайта
'controllerNamespace' => 'frontend\controllers',
'components' => [
'request' => [
'csrfParam' => '_csrf-frontend',
],
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
'identityCookie' => ['name' => '_identity-frontend', 'httpOnly' => true],
],
'session' => [
// this is the name of the session cookie used for login on the frontend
'name' => 'advanced-frontend',
],
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'post/page/<page:\d+>' => 'post/index',
'post/' => 'post/index',
'zitie' => 'zitie/index',
],
],
],
'params' => $params,
];
введите сюда код
Файл .htaccess у меня такой и находится в корне сайта.
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/admin
RewriteRule ^admin\/?(.*) /backend/web/$1
RewriteCond %{REQUEST_URI} !^/(frontend/web|backend/web|admin)
RewriteRule (.*) /frontend/web/$1
RewriteCond %{REQUEST_URI} ^/frontend/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /frontend/web/index.php
RewriteCond %{REQUEST_URI} ^/backend/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /backend/web/index.php
Вопрос, что я делаю не так? и то нужно сделать, чтобы я смог переходить по ссылкам?
Ответы (1 шт):
Проблема была в неправильной корневой папке сайта. Надо, чтобы корневая папка была frontend/web, а внутри лежал htaccess. Пришлось удалить домен и добавить заново. После чего все заработало.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php