J'utilise Laravel pour le développement. Le répertoire des ressources statiques et le routage du projet porteront le même nom, tel que :
//web的静态资源路径
/public/web/xxx
//定义的路由
Route::group(['prefix' => 'web'], function () {
Route::get('/', 'XxxController@indexPage');
});
Si configuré comme ceci, une erreur 404 se produira lors de l'utilisation du serveur PHP intégré pour accéder à localhost:8000/web dans l'environnement de développement :
The requested resource /web_dealer was not found on this server.
Après quelques recherches, il semble que ce soit parce qu'il existe un chemin de ressource du même nom dans le répertoire public, le serveur n'a donc aucune raison de le traiter directement comme une ressource statique. Mais en fait, ce site Web n'est qu'un dossier, donc le 404 ci-dessus apparaît.
En utilisant le serveur Apache pour les tests, Apache semble rediriger (301) localhost:8000/web vers localhost:8000/web/, et la structure des répertoires sera exposée sur la page. Options de configuration -Les index désactivent uniquement l'affichage, mais localhost:8000/web sera toujours redirigé.
J'aimerais savoir comment le configurer si vous souhaitez unifier le chemin des ressources statiques et la dénomination des routes comme indiqué ci-dessus. Ou existe-t-il un autre meilleur système de dénomination ?
Cela peut être réalisé en modifiant public/.htaccess (test local LAMP réussi sous Linux Mint)
Étapes
Modifier le fichier .htaccess dans le répertoire public
Localiser :
La signification originale est : Si ce n'est pas un répertoire !-d, ni un fichier !-f, alors analysez en index.php
a été modifié en
signifie maintenant : si ce n'est pas un fichier !-f, alors analysez en index.php
(dans un sens !-d n'est plus utile)
Le test local a réussi. On ne sait actuellement pas si cela entraînera d'autres problèmes.