Le but ici est d’héberger une appli Synfony dans un sous répertoire et non pas a la racine du site web.
Imaginons que l'on veuille acceder a notre appli via le répértoire 'sous_repertoire' comme ceci :
http://mon_site.com/sous_repertoire/xxxx/xxxx/
La partie /xxxx/xxxx devenant la route a retourner au routeur Symfony
a placer dans le répertoire de l'application.
Ce .htaccess renvois tout ce qui est demandé au niveau de ce répértoire vers le répértoire public
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*) public/index.php/$1 [L] </IfModule>
A etudier…
http://mon_site.com/sous_repertoire/xxxx/xxxx//xxxx/xxxx devenant la route a retourner au routeur Symfony
Dans le fichier .env ou .env.local ajouter la variable globale
BASE_HOST="/sous_repertoire" BASE_URL="http://mon_site.com/sous_repertoire/public" #pour les Assets
BASE_URL est vide ou est une adresse mal formée, alors on obtient une erreur
Pour transformer la variable globale en variable interpretable par le routeur dans le fichier annotations.yaml
parameters:
app.base_host: '%env(BASE_HOST)%'
controllers:
resource: ../../src/Controller/
type: annotation
prefix: '%app.base_host%'
kernel:
resource: ../../src/Kernel.php
type: annotation
prefix: '%app.base_host%'
assets:
base_urls: ['%env(BASE_URL)%']
base_path qui me paraissait plus approprié, mais cela n'a pas fonctionné…