У меня есть сервер Apache, и мои проекты находятся внутри /var/www/html/
Внутри я создал новый проект, используя композитор, например composer create-project symfony/website-skeleton myproject
.
Затем внутри моего проекта я выполнил команду composer require symfony/apache-pack
, которая добавила файл .htaccess в папку public
, содержащую .htaccess
по умолчанию для symfony.
Когда я получил доступ к своему серверу, как http://192.168.0.2/myproject
, я получил список папок, которые apache обслуживает, если он не находит файл index.php
, потому что он обращается к папке symfony по умолчанию в /var/www/html/myproject
, а не к общей папке.
Итак, внутри папки /var/www/html/myproject
, которая является проектом Symfony, я добавил следующий файл .htaccess.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /myproject/
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
Нет, когда я посещаю http://192.168.0.2/myproject
, я получаю сообщение об ошибке No route found for "GET /myproject/"
, что означает, что symfony теперь рассматривает /myproject
как часть маршрута.
Есть ли решение для этого. Я предложил решение, которое я получил от symfony slack, заключалось в том, чтобы проект находился в другой папке и символически ссылался только на общую папку.
Что-то типа:
lrwxrwxrwx 1 root root 59 gmponos 9 19:26 myproject -> /home/gmponos/Projects/myproject/public/
Это решение, но мне действительно нужно, чтобы весь проект находился под /var/www/html/
, а не символизировал общую папку.
Также другим решением в соответствии с официальной документацией является редактирование конфигурации apache и изменение корня документа с /var/www/html/myproject на /var/www/html/myproject/public, но мне нужна конфигурация, чтобы оставаться внутри проекта, а не изменить конфиг апача.
Есть ли решение?