Concernant le problème de routage du framework PHP Laravel, veuillez demander des réponses à l'expert.
天蓬老师
天蓬老师 2017-06-30 09:52:44
0
5
896

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

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous(5)
学霸

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

巴扎黑

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

代言

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 !

为情所困

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

typecho

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal