За последние 24 часа нас посетили 22445 программистов и 1026 роботов. Сейчас ищут 679 программистов ...

не работают чпу адреса в Yii2

Тема в разделе "Yii", создана пользователем RumusBin, 17 сен 2016.

Метки:
  1. RumusBin

    RumusBin Новичок

    С нами с:
    17 сен 2016
    Сообщения:
    9
    Симпатии:
    0
    • Оформляй код, кнопка </> в редакторе, потом выпадающий список и выбирай тип кода: php, javascript, html и т. д.
    Доброго времени. Использую си-му Linux
    развернул проект Yii2 на виртуальном хосте
    сайт работает по адресу localhost/mysite.com/web/index.php
    При попытке перевести адреса на ЧПУ руководствуясь советами из сети проделал такие действия:

    создал два файла .htaccess, один в корневой папке с содержанием:
    PHP:
    1. RewriteEngine on
    2. RewriteRule ^(.+)?$ /web/$1
    3.  
    4. Второй в папке web с содержанием:
    5. RewriteBase /
    6. RewriteCond %{REQUEST_FILENAME} !-f
    7. RewriteCond %{REQUEST_FILENAME} !-d
    8. RewriteRule . index.ph
    и по пути config/web.php раскоментировал urlManager, содержание строки:
    PHP:
    1. ...
    2. 'urlManager' => [
    3.          
    4.             'enablePrettyUrl' => true,
    5.             'showScriptName' => false,
    6.             'rules' => [
    7.             ],
    8. ...
    после этого главная страница открывалась по адресу localhost/mysite.com/web, а при переходе на вкладки about/ или contacts/ выпадает ошибка
    Not Found
    The requested URL /yii2.min/web/site/about was not found on this server.

    Можете посоветовать рабочую инструкцию для включения ЧПУ?
    спасибо!
     
    #1 RumusBin, 17 сен 2016
    Последнее редактирование модератором: 17 сен 2016
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    Куда документ рут ссылается?
     
  3. RumusBin

    RumusBin Новичок

    С нами с:
    17 сен 2016
    Сообщения:
    9
    Симпатии:
    0
    Но я только начал знакомится с Yii 2 смотрю разные уроки и про документ рут, к сожалению, еще не слышал! По этому совсем не имею представления куда он ссылается!)) Где это можно посмотреть?
     
  4. RumusBin

    RumusBin Новичок

    С нами с:
    17 сен 2016
    Сообщения:
    9
    Симпатии:
    0
    Ага, понял, документ рут ссылается на
    /var/www/html
     
  5. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    Попробуй ссылать его на каталог web
     
  6. RumusBin

    RumusBin Новичок

    С нами с:
    17 сен 2016
    Сообщения:
    9
    Симпатии:
    0
    ок, спс, сейчас создам новый виртуальный хост
     
  7. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
  8. RumusBin

    RumusBin Новичок

    С нами с:
    17 сен 2016
    Сообщения:
    9
    Симпатии:
    0
  9. RumusBin

    RumusBin Новичок

    С нами с:
    17 сен 2016
    Сообщения:
    9
    Симпатии:
    0
    Не получается включить виртуальный хост! Уже 5 мануалов попробовал, результата ноль. Все равно через localhost открывается. Может кто нибудь ссылочкой поделится как настроить этот apache2 что бы без localhost открывался сайт? Я на винде пробовал в OpenServer все работает !!!
     
  10. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    У тебя сервер на Linux без панели управления?
    Ты документацию по apache2 читал?
     
  11. RumusBin

    RumusBin Новичок

    С нами с:
    17 сен 2016
    Сообщения:
    9
    Симпатии:
    0
    документацию по apache2 я не читал, ибо не собираюсь открывать хостинг или, ни дай бог, быть его администратором. Я думаю, что можно обойтись каким нибудь разовым, толковым руководством по настройке и на этом прекратить свое общение с сервером! На хостингах все настроено, в крайнем случаем можно обратиться в службу поддержки, на винде есть OpenServer. Ну а вот на линуксе полная ж... но я все же рассчитываю на поддержку знающих людей, или, хотя бы, тех, кто уже оказывался в подобных ситуациях.
     
  12. RumusBin

    RumusBin Новичок

    С нами с:
    17 сен 2016
    Сообщения:
    9
    Симпатии:
    0
    Ок, всем спасибо! Пока слишком глубоко нырять не буду!))) Залил приложение на хостинг, работаю через него. Думаю данную тему исчерпанной на данный момент.
     
  13. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    правильное решение

    там всё просто, достаточно уметь тяп ляп, не для продакшена, будешь лучше понимать как сайты работают
     
  14. bat1stuff

    bat1stuff Новичок

    С нами с:
    26 мар 2017
    Сообщения:
    4
    Симпатии:
    0
    Правильное решение это:
    1) Открыть httpd.conf в нем раскомментировать строку Include conf/extra/httpd-vhosts.conf
    2) Открыть файл httpd-vhosts.conf в нем написать следующее
    <VirtualHost *:80>
    ServerAdmin admin@gmail.com
    DocumentRoot "/srv/http/"
    ServerName localhost
    ServerAlias localhost
    <Directory "/srv/http/">
    Require all granted
    </Directory>
    </VirtualHost>

    <VirtualHost *:80>
    ServerAdmin admin@gmail.com
    DocumentRoot "/srv/http/yii2/basic"
    ServerName yii.loc
    ServerAlias yii.loc
    <Directory "/srv/http/yii2/basic">
    Require all granted
    </Directory>
    </VirtualHost>

    ServerName и ServerAlias, а также Directory указываем соответственно те которые нужны вам.

    в нем сначала указал куда обращаться при запросе localhost затем куда обращаться при запросе yii.loc

    3) Открываем файл hosts и пишем следующее:
    127.0.0.1 localhost.localdomain localhost
    127.0.0.1 yii.loc

    4) Сохраняем все что написали
    5) В терминале пишем sudo systemctl restart httpd.service
    Теперь мы настроили виртуальный хост и можно переходить к ЧПУ

    6) Делаем по инструкции synthetica.com.ua/yii2-seo-url/

    Все готово. Надеюсь кому-нибудь поможет.)
     
    #14 bat1stuff, 26 мар 2017
    Последнее редактирование модератором: 26 мар 2017
  15. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.553
    Симпатии:
    1.754
    DocumentRoot должен быть ниже корневой папки приложения. На yii2 DocumentRoot у меня всегда смотрит на папку web, которую я переименовываю иногда в public_html, если так на шаред хостинге. Инструкция, про которую вы говорите - для хостингов, у которых нельзя размещать файлы выше DocumentRoot или тонко его настраивать, применять её на своём сервере есть смысл только в случае деплоя на такой хостинг, хотя я бы не стал, потому что с такими хостингами можно ещё кучу проблем огрести, типа "взлома" гита из-за публикации его папки
     
    denis01 нравится это.
  16. bat1stuff

    bat1stuff Новичок

    С нами с:
    26 мар 2017
    Сообщения:
    4
    Симпатии:
    0
    Ну я написал чтобы была видна логика, то как оно должно выглядеть в продакшене это вопрос иной. Я написал так чтобы человек разобрался что и куда ведет и дома смог все протестировать.