Мёртвый блог живого человека

SEO-оптимизация, манимейкинг, веб-разработка

Как запустить Yii2 на обычном(shared) хостинге?

Тут я столкнулся с неприятной проблемой. Раньше я писал свои проекты на Yii, всё было отлично и работало просто замечательно. Но с недавнего времени я стал всё это дело переписывать на вторую версию Yii Framework, очень уж он мне понравился. И всё бы ничего, но подошёл тот момент, когда пришлось запускать приложение на обычном хостинге, без возможности пользоваться консолью или выходить за рамки директории отведённой под сайт.

Долго искал, пытался решить проблему сам, но чего-то не получалось. И вот однажды наткнулся на хорошие советы о том, как-же всё таки запустить Yii2 на shard-хостинге.



Во первых, создадим файл .htaccess в корне всего приложения и пропишем там следующие вещи:

# Mod_Autoindex
<IfModule mod_autoindex.c>
    # Disable Indexes
    Options -Indexes
</IfModule>

# Mod_Rewrite
<IfModule mod_rewrite.c>
    # Enable symlinks
    Options +FollowSymlinks
    # Enable mod_rewrite
    RewriteEngine On
    # Redirect all requests to web
    RewriteCond %{REQUEST_URI} ^(.*)$
    RewriteRule ^(.*)$ web/$1
</IfModule>

Этим самым мы запретили просматривать список файлов и перенаправляем все запросы на /web/.

Далее в директории web пишем вот что:

# Mod_Autoindex
<IfModule mod_autoindex.c>
  # Disable indexes
  Options -Indexes
</IfModule>

# Mod_Rewrite
<IfModule mod_rewrite.c>
  # Enable symlinks
  Options +FollowSymlinks
  # Enable mod_rewrite
  RewriteEngine On
  # If a directory or a file exists, use the request directly
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  # Otherwise forward the request to index.php
  RewriteRule . index.php
</IfModule>

Ну и после всего этого, должно всё заработать как надо.



Кстати, если тебе нужен поставщик Lenovo то ты знаешь куда обращаться (: Всё лучшее от Lenovo там.

Оставить комментарий

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой:

Комментарии

  1. Вот спасибо! только ваш метод и помог! А уже думал отказаться от YII2 !!!

    Единственное — в первом коде в предпоследней строчке нужно указывать весь путь до папки — RewriteRule ^(.*)$ basic/web/$1 в моем случае

    VA:F [1.9.22_1171]
    +1
  2. И правда, нахуй нам дубли убирать. 4 сука дубля... И так везде. Я хуею с вас.

    */

    */index.php

    */web/

    */web/index.php

    СУКА, все выдает одну и ту же ХУЙНЮ! Долбаебы, блять!

    VA:F [1.9.22_1171]
    +2


Подпишись и будь вкурсе всех новых тем на блоге — узнаешь много нового!