====== 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]]