recherche

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

Concernant le problème de routage du framework PHP Laravel, veuillez demander des réponses à l'expert.

J'ai les itinéraires suivants définis dans routes/wen.php :

Lorsque j'accède à public/index.php, je peux normalement saisir la méthode Index dans le contrôleur Index. À ce moment, mon nom de domaine est : 127.0.0.1/Laravel/public En raison de la configuration d'Apache, index.php est ouvert. par défaut uniquement dans le nom de domaine. Il n'est pas affiché dans
Mais j'ai défini la deuxième route, qui est user dans le répertoire racine. À ce moment-là, j'ai accédé à nouveau à 127.0.0.1/Laravel/public/user
Le résultat a été le. erreur suivante

Quand j'ai ajouté index.php et l'ai changé en 127.0.0.1/Laravel/public/index.php/user, j'ai pu y accéder normalement, je ne comprends pas pourquoi, lorsque j'ai regardé le didacticiel vidéo, d'autres y ont accédé. directement sans aucun besoin. Ajoutez index.php

天蓬老师天蓬老师2762 Il y a quelques jours939

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

  • 欧阳克

    欧阳克2017-06-30 09:54:44

    Il y a un problème avec la configuration de réécriture d'Apache. Échec de la réécriture de l'URL.

    répondre
    0
  • 巴扎黑

    巴扎黑2017-06-30 09:54:44

    Je localise toujours le répertoire public directement dans nginx ou apache, ce qui signifie que public/index.php sera automatiquement accessible

    répondre
    0
  • 代言

    代言2017-06-30 09:54:44

    En gros, c'est certainement dû à la réécriture d'url. Je l'ai également rencontré il y a quelques jours, j'ai suivi le tutoriel et j'ai écrit 127.0.0.1/Laravel/public/user et j'ai signalé une erreur. J'ai eu une idée et je viens de la changer en 127.0.0.1/Laravel/publicindex.php//user. . Pour ce genre de chose, l'affiche n'a pas besoin de se battre, c'est une perte de temps, il suffit de connaître le principe. Après avoir appris, de nombreux problèmes seront résolus facilement !

    répondre
    0
  • 为情所困

    为情所困2017-06-30 09:54:44

    Ajouter une redirection d'itinéraire
    Apache

    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews
        </IfModule>
    
        RewriteEngine On
    
        # Redirect Trailing Slashes If Not A Folder...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)/$ / [L,R=301]
    
        # Handle Front Controller...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    
        # Handle Authorization Header
        RewriteCond %{HTTP:Authorization} .
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    </IfModule>

    nginx

    répondre
    0
  • typecho

    typecho2017-06-30 09:54:44

    Ce que le maître a dit ci-dessus est correct, mais je me demande si votre fichier de configuration distribué dans le dossier public a disparu. Pouvez-vous vérifier s'il existe un fichier .htaccess ? En parlant de cela, il est impossible de modifier le dossier public. ignorez index.php lorsque vous y accédez, je vous suggère donc de vérifier s'il y a un problème avec ce fichier.

    répondre
    0
  • Annulerrépondre