Как я могу определить корневой каталог Symfony на общем хосте?

Есть ли у кого-нибудь опыт работы с Symfony на общем хосте (Linux). Я использую Symfony на своем локальном хосте, он отлично работает. Я также установил пакет Apache.

Когда я хочу открыть веб-сайт на веб-сервере, я должен написать www.mywebsite.com/public, чтобы увидеть свой веб-сайт. Я попытался добавить эту строку DocumentRoot /var/www/project/public в файл .htaccess (файл находится внутри общей папки), но это не меняет. Не знаю, как заставить его работать, как на localhost. Проект на сервере - это клон проекта на localhost.

Я попытался скопировать код из документации https://symfony.com/doc/current/setup/web_server_configuration.html в свой файл .htaccess, но это не сработало.

Я также попытался переместить файл .htaccess из общей папки в корень. Но затем я получаю предупреждающее сообщение, что мне нужно связаться с администратором.

Это мой файл .htaccess:

DirectoryIndex index.php

<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{HTTP:Authorization} .
    RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ - [L]

    RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 307 ^/$ /index.php/
    </IfModule>
</IfModule>

Я думаю, вам не следует изменять какое-либо содержимое файла .htaccess для установки по умолчанию. Если ваша общая учетная запись может иметь только один домен, и если веб-сайт за доменом является приложением Symfony, то обращайтесь к нему без /public. Но если у вас есть поддомен, только тогда используйте /public. И вы должны заглянуть в файл .composer.json, чтобы увидеть, что symfony_web_dir также является public. Если нет, измените его на public, а затем на composer dump-autoload -o, чтобы сообщить об этом композитору.

Dan Costinel 05.06.2018 12:27

@DanCostinel Вы имеете в виду, что я должен назначить свой домен не корневой папке Symfony, а общей папке. Так просто?

peace_love 05.06.2018 15:20

Хм, тестировал. Это не работает...

peace_love 05.06.2018 15:23

Очевидно, что в папку public, а не в корневую папку Symfony. К вашему приложению обращается app.php (расположенный в каталоге public), когда ваше приложение находится в сети. И да, работает. Если нет, значит, вы делаете что-то еще неправильно.

Dan Costinel 05.06.2018 15:28

Если мой домен назначен корневой папке symfony, я могу открыть www.mypage.com/public и увидеть свой веб-сайт. Но когда я назначаю свой домен общедоступной папке, я вижу только пустую страницу. Что могло быть причиной этого?

peace_love 05.06.2018 15:36

Это потому, что я использую поддомен? На самом деле мое доменное имя - project.mypage.com

peace_love 05.06.2018 15:37

Чтобы понять, в чем проблема, вы должны проверить файл var/logs/prod.log.

Dan Costinel 05.06.2018 16:38
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
7
536
0

Другие вопросы по теме