OK, donc après m'être tapé la tête contre ce problème pendant un peu plus d'un jour... Je me suis levé et j'ai fait ce que j'aurais dû faire hier, et j'ai DEBUGGÉ ce qui se passait !
Ce que Laravel ESSAIE de faire ici, c'est d'insérer le fichier index.php
juste devant le chemin donné comme itinéraire. Ainsi, par exemple, si vous avez spécifié un Route::get('/account/create', ...,
et exécutez votre application depuis disons localhost/laravel/authenticate/public/account/create
sur votre navigateur, alors laravel veut exécuter localhost/authenticate/public/index.php/account/create
mais pour ce faire, .... Apache doit voir que les requêtes qui passent par /wamp/www/laravel/laravel/authentication/public
(votre chemin d'accès peut varier quelque peu, en fonction de l'endroit où votre application Laravel est installée, mais la terminaison public
est l'endroit où la substitution doit avoir lieu) doit avoir une "RewriteRule" appliquée.
Heureusement, Laravel fournit la règle de réécriture correcte dans un fichier très pratique. .htaccess
dans le dossier de votre application public
dossier. Le PROBLÈME est que le code dans ce fichier '.htaccess' ne fonctionnera pas avec la façon dont WAMP est configuré. La raison de ce problème semble être le problème suggéré par muvera au début de ce fil de discussion -- le code rewrite_module doit être chargé par Apache avant que le fichier '.htaccess' ne soit chargé. RewriteRule
Les trucs vont marcher. Heck, ça a du sens.
La partie qui n'a pas de sens : simplement stopping
y restarting
Les services Apache ne prendront pas en compte les changements nécessaires pour que WAMP fasse la bonne chose avec votre RewriteRule - je le sais, j'ai essayé plusieurs fois !
Ce qui fonctionne : faites les changements suggérés par muvera (voir en haut du fil de discussion) pour charger les modules corrects. Ensuite, réinitialisez votre session Windows, ce qui vide Apache de sa mémoire. Redémarrez (rechargez) WAMP, et VOILA ! la correction fonctionne, la RewriteRule correcte est appliquée, yada, yada ; je vis heureux pour toujours.
La bonne nouvelle de tout ça : J'en sais BEAUCOUP plus sur .htaccess
, RewriteRule
y httpd.conf
les dossiers maintenant. Il y a un bon argument (de performance) pour déplacer la logique de votre application public
.htaccess
et le mettre dans un fichier Directory ...
de votre httpd.conf dans votre dossier 'bin' d'Apache (surtout si vous avez accès à ce dossier).