Ошибка при размещении проекта Yii на удаленном сервере (apache, php)

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
ChroniC
Сообщения: 1
Зарегистрирован: 2022.03.31, 15:02

Ошибка при размещении проекта Yii на удаленном сервере (apache, php)

Сообщение ChroniC »

Здравствуйте!

Помогите, пожалуйста, решить следующую проблему.
Есть проект Yii basic, создан с использованием openserver. На локальной машине всё прекрасно работает.
Общая структура проекта: есть условная папка basic и в ней папка public_html - внешняя, которая смотрит наружу. В папке basic же лежат и прочие папки проекта, vendor, config, models и пр.
Изначально, при разработке на OpenServer, было прописано в настройках домена, что public_html - это домашняя папка, содержащая index. Но в силу обстоятельств, на хостинге нет возможности указать те же настройки на уровне сервера, и по умолчанию, папкой, в которой сервер ищет точку входа, является basic. Поэтому было решено переделать этот момент через использованием .htaccess

После изучения похожих проблем на просторах интернета, .htaccess в папке basic (в корне) получился такой:

Код: Выделить всё

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/.*
RewriteRule ^(.*)$ public_html/$1 [L]
RewriteCond %{REQUEST_URI} !^/public_html/
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ public_html/index.php
.htaccess в папке public_html остался стандартным, его я не трогал:

Код: Выделить всё

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
После этого, на локальном компе все заработало (при условии, что я сбросил настройки open server относительно домена).

Но при переносе на сервер, браузер выкидывает ошибку HTTP ERROR 500. Причем, если вместо стандартного содержимого index.php, которое создается автоматически при создании Yii приложения, вставить, туда, например, echo "Hello World", то такая страница без проблем открывается. То есть дело именно в содержимом индекса, которое ведет во внешнюю папку basic. Но почему данная конструкция не работает и что можно еще предпринять, есть нет возможности менять конфигурацию сервера, я не понимаю.

Буду благодарен за любые мысли по этому поводу. Спасибо!


p.s. Я нашел на форуме несколько похожих тем, но ответа там так и не нашел.
Ответить