====== Déployer l'application dans un sous répértoire ======
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
==== Nouveau HTACCESS ====
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''
RewriteEngine On
RewriteRule ^(.*) public/index.php/$1 [L]
Un autre HTACCESS est proposé ici : [[https://openclassrooms.com/forum/sujet/symfony-4-deploiement-sur-ovh-mutualise]]
A etudier...
==== Modification du routage ====
=== Configuration dans le fichier .env ===
Dans notre exemple l'adresse de notre app est ''http://mon_site.com/sous_repertoire/xxxx/xxxx/''\\
La partie ''/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
Si ''BASE_URL'' est vide ou est une adresse mal formée, alors on obtient une erreur
=== Dans le fichier services.yaml ===
Pour transformer la variable globale en variable interpretable par le routeur dans le fichier ''annotations.yaml''
parameters:
app.base_host: '%env(BASE_HOST)%'
=== Ajouter un prefix aux urls ===
controllers:
resource: ../../src/Controller/
type: annotation
prefix: '%app.base_host%'
kernel:
resource: ../../src/Kernel.php
type: annotation
prefix: '%app.base_host%'
=== Modifier l'url de base pour les Assets ===
assets:
base_urls: ['%env(BASE_URL)%']
J'ai essayé avec le paramètre ''base_path'' qui me paraissait plus approprié, mais cela n'a pas fonctionné...
====== Sources & Ressources ======
* [[https://www.youtube.com/watch?v=AAap9qRHgIk|Tutoriel Symfony : Héberger le site sur un hébergement mutualisé (Vidéo Grafikart)]]
* [[https://openclassrooms.com/fr/courses/5489656-construisez-un-site-web-a-l-aide-du-framework-symfony-5/5517046-deployez-votre-site-web]]
* [[https://arkalo.ovh/docs/baseurl-symfony/]]
* [[https://stackoverflow.com/questions/33257500/htaccess-with-symfony-in-subdirectory-cannot-hide-web]]