Magazine

Comment faire cohabiter Laravel et NGINX?

Publié le 08 décembre 2012 par Jpmonette

L'utilisation du framework PHP Laravel avec le serveur HTTP NGINX fonctionne vraiment bien. Du moins, très bien lorsqu'on a trouvé les bons paramètres pour la réécriture des adresses. Considérant que l'information était introuvable sur le Web, je vais vous partager les lignes magiques à inscrire dans vos fichiers de configuration.

Pour un serveur Web Apache, voici le .htaccess nécessaire pour rediriger automatiquement les requêtes envoyées au fichier index.php:

<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> 

Dans le cas de NGINX, le fonctionnement de l' URL Rewriting n'est pas le même. Voici donc les paramètres à insérer dans votre Server Block pour que le module HttpRewriteModule supporte adéquatement le routage avec Laravel:

if (!-e $request_filename) { rewrite ^/(.*)$ /index.php?/$1 last; break; } 

En bref, la consigne vérifie si le nom du fichier inséré après la racine du nom de domaine existe. S'il n'existe pas, la requête est automatiquement juxtaposée après /index.php?/.

Également, n'oubliez pas de configurer adéquatement votre fichier de configuration application.php situé dans le répertoire application/config/application.php.

Remplacez la ligne suivante:

'index' => 'index.php', 

... par celle-ci:

Simple, non? Pour en apprendre davantage sur NGINX, utilisé sur 12,18% des serveurs dans le monde, je vous invite à jeter un oeil à leur site Web. Sinon, allez lire mon précédent article Laravel comme framework PHP plutôt que CodeIgniter?!


Retour à La Une de Logo Paperblog

A propos de l’auteur


Jpmonette 161 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte