Quand vous mettez votre site Laravel en production, vous n’avez peut-être pas envie de voir des URLS toutes moches comme lors de notre phase de développement du genre :
http://mon-url-sympa.fr/public/profil-utilisateur
Pas de soucis, c’est assez simple de changer ça en :
http://mon-url-sympa.fr/profil-utilisateur
Alors pour commencer on va modifier le fichier .htaccess
à la racine de notre site, pour lui ajouter des conditions de réécriture comme ceci :
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !^/public/ RewriteRule ^(css|js|images)/(.*)$ public/$1/$2 [L,NC]
Il faut également renommer notre fichier server.php
en index.php
(toujours à la racine de notre site) !
Les URLS fonctionnent déjà correctement mais le style CSS est complètement… Ben.. Absent !
Pour finir la manipulation, on va modifier le fichier helpers.php
. C’est ce fichier qui nous propose la fonction « asset()
» mais qui du coup, ne retourne plus le bon chemin ^^
// fichier : /Illuminate/Foundation/helpers.php/ // ... function asset($path, $secure = null) { return app('url')->asset('public/'.$path, $secure); } // ...
Vous ne devriez plus avoir de problème d’url en faisant comme ça 🙂
Vous aimez mes articles ? Offrez-moi un café !