У меня есть приложение Symfony в моем /var/www/html/app/
, и я хотел бы получить к нему доступ через host/app/
, но я не могу заставить его работать.
I have a conf file with this
<Directory /var/www/html/app>
AllowOverride All
Order Allow,Deny
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
# RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
</Directory>
Это прокомментировано, потому что я пытался сделатьперенаправление здесь, но оно не сработало, поэтому я сделал следующее .htaccess.
И этот htaccess в /var/www/html/app/.htaccess
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
С этим .htaccess, когда я перехожу к ://host/app
Я захожу в приложение Symfony (не в структуру каталогов apache), и это, кажется, хорошее начало.Но проблема в том, что я получаю исключение No Routes found for /app/
.Это нормально, потому что /app/
- это подпапка на моем сервере, а не начало маршрутов Symfony.
Как сделать так, чтобы маршруты Symfony начинались после /app/
пути к папке?
Я знаюВ подпапке есть несколько вопросов о маршрутизации symfony2 / 3, но для ответа требуется разделить файлы src
и public
, это не то, что я хотел бы иметь.
Я просто хочу, чтобы мои маршруты работали при доступе://host/app
.
Для информации, это прекрасно работает, когда я открываю ://host/app/public/*Symfony routes*
Редактировать: Новый app.conf
Alias / rapp "/ var / www / html / app / public"
<Directory /var/www/html/app>
AllowOverride None
Order Allow,Deny
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
#RewriteBase /app
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(?!public/index.php)$ public/index.php$1 [L]
</IfModule>
</Directory>