recherche

Maison  >  Questions et réponses  >  le corps du texte

Front-end - Problèmes de routage rencontrés lors du développement avec Laravel

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 ?

大家讲道理大家讲道理2830 Il y a quelques jours633

répondre à tous(1)je répondrai

  • 仅有的幸福

    仅有的幸福2017-05-16 16:52:56

    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 :

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    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

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    RewriteCond %{REQUEST_FILENAME} !-d

    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.

    répondre
    0
  • Annulerrépondre