За последние 24 часа нас посетили 22815 программистов и 1308 роботов. Сейчас ищут 917 программистов ...

ЧПУ Yii2.0 на OpenServer'е

Тема в разделе "PHP для новичков", создана пользователем Konstant1n, 4 дек 2018.

  1. Konstant1n

    Konstant1n Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    Всем привет!
    Начал изучение Yii2.0 по видеоурокам GeekBrains. Остановился на настройке .htaccess и ЧПУ.
    1. Что в openserver'е надо настроить, для корректной работы yii2.0?
    2. Как настроить Apache?
    3. ЧПУ: в common/main.php добавил строчки
    PHP:
    1. 'urlManager' => [
    2.             'enablePrettyUrl' => true,
    3.             'showScriptName' => false,
    4.  
    5.         ],
    добавил .htaccess в frontend
    Код (Text):
    1. <IfModule mod_autoindex.c>
    2.     #Запрещаем просмотр содержимого папок
    3.     Options -Indexes
    4. </IfModule>
    5.  
    6. <IfModule mode_rewrite.c>
    7.     Options +FollowSymlinks
    8.     #Включаем mod_rewrite
    9.     RewriteEngine On
    10.  
    11.     #Если это папка или файл, открываем её/его
    12.     RewriteCond %{REQUEST_FILENAME} !-f
    13.     RewriteCond %{REQUEST_FILENAME} !-d
    14.     #В противном случае перенаправляем на index.php
    15.     RewriteRule . index.php
    16. </IfModule>
    Главная страница открывается. Нажимаю на About или Contacts, выходит ошибка
    Код (Text):
    1. Object not found!
    2. 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.
    3.  
    4. If you think this is a server error, please contact the webmaster.
    5.  
    6. Error 404
    7. x3.local
    8. Apache
    а самом utl написано
    Код (Text):
    1. http://x3.local/site/about
    т.е. чпу работает, но проблема в чем-то другом, скорее всего .htaccess и настройки сервера apache.
    помогите плиз
     
  2. Konstant1n

    Konstant1n Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    исправление:
    PHP:
    1. 'urlManager' => [
    2.             'class' => 'yii\web\UrlManager',
    3.             'enablePrettyUrl' => true,
    4.             'showScriptName' => false,
    5.         ],
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.568
    Симпатии:
    1.757
    У тебя advanced-шаблон что-ли? Вообще, надо правильно настроить document root, этот шаблон предполагает разные домены для админки и фронта. Но есть варианты, как держать на одном. В любом случае, нужно правильно настроить Document Root. Open Server-ом не пользуюсь, но насколько читал, там это просто. Плюс почитай https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/topic-shared-hosting.md. А вообще, не люблю я advanced-шаблон, пользовался раза три, не понравилось. Это для каких-то супер-сложных приложений сделано, об этом и @samdark говорил как-то, что они его пересложнили.
     
  4. villiwalla

    villiwalla Активный пользователь

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    Ты просто включил ЧПУ и всё работает правильно. Не хочешь site/about, а хочешь /about, то добавь роут. Например:
    Код (Text):
    1. [...
    2.    ['<action>' => 'site/<action>']
    3. ]
    Все методы(экшены) "1-го уровня" будут дёргаться из контроллера SiteController

    Вроде не на эльфийском:
    https://www.yiiframework.com/doc/guide/2.0/ru/runtime-routing#using-pretty-urls

    Ничего там усложнённого нету, вроде бы.
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.568
    Симпатии:
    1.757
    Два домена, настройка сервера, большая куча конфигов. Всё это преодолимо, конечно, но не всегда хочется этим заниматься. Или трюкачествами с настройками, чтоб был один домен. Но это лично моё мнение, плюс слышал или читал, как Макаров (ключевой разработчик фреймворка, для тех, кто не в курсе) тоже её озвучивал. Когда рассказывал, каким будет шаблонное приложение в Yii3