Всем привет! Начал изучение Yii2.0 по видеоурокам GeekBrains. Остановился на настройке .htaccess и ЧПУ. 1. Что в openserver'е надо настроить, для корректной работы yii2.0? 2. Как настроить Apache? 3. ЧПУ: в common/main.php добавил строчки PHP: 'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, ], добавил .htaccess в frontend Код (Text): <IfModule mod_autoindex.c> #Запрещаем просмотр содержимого папок Options -Indexes </IfModule> <IfModule mode_rewrite.c> Options +FollowSymlinks #Включаем mod_rewrite RewriteEngine On #Если это папка или файл, открываем её/его RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d #В противном случае перенаправляем на index.php RewriteRule . index.php </IfModule> Главная страница открывается. Нажимаю на About или Contacts, выходит ошибка Код (Text): Object not found! The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error. If you think this is a server error, please contact the webmaster. Error 404 x3.local Apache а самом utl написано Код (Text): http://x3.local/site/about т.е. чпу работает, но проблема в чем-то другом, скорее всего .htaccess и настройки сервера apache. помогите плиз
исправление: PHP: 'urlManager' => [ 'class' => 'yii\web\UrlManager', 'enablePrettyUrl' => true, 'showScriptName' => false, ],
У тебя advanced-шаблон что-ли? Вообще, надо правильно настроить document root, этот шаблон предполагает разные домены для админки и фронта. Но есть варианты, как держать на одном. В любом случае, нужно правильно настроить Document Root. Open Server-ом не пользуюсь, но насколько читал, там это просто. Плюс почитай https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/topic-shared-hosting.md. А вообще, не люблю я advanced-шаблон, пользовался раза три, не понравилось. Это для каких-то супер-сложных приложений сделано, об этом и @samdark говорил как-то, что они его пересложнили.
Ты просто включил ЧПУ и всё работает правильно. Не хочешь site/about, а хочешь /about, то добавь роут. Например: Код (Text): [... ['<action>' => 'site/<action>'] ] Все методы(экшены) "1-го уровня" будут дёргаться из контроллера SiteController Вроде не на эльфийском: https://www.yiiframework.com/doc/guide/2.0/ru/runtime-routing#using-pretty-urls Ничего там усложнённого нету, вроде бы.
Два домена, настройка сервера, большая куча конфигов. Всё это преодолимо, конечно, но не всегда хочется этим заниматься. Или трюкачествами с настройками, чтоб был один домен. Но это лично моё мнение, плюс слышал или читал, как Макаров (ключевой разработчик фреймворка, для тех, кто не в курсе) тоже её озвучивал. Когда рассказывал, каким будет шаблонное приложение в Yii3