Bezüglich des Routing-Problems des PHP-Frameworks Laravel fragen Sie bitte den Experten nach Antworten.
天蓬老师
天蓬老师 2017-06-30 09:52:44
0
5
901

Ich habe die folgenden Routen in Routen/wen.php definiert:

Wenn ich auf public/index.php zugreife, kann ich die Index-Methode normal im Index-Controller eingeben. Zu diesem Zeitpunkt lautet mein Domänenname: 127.0.0.1/Laravel/public Standardmäßig wird es nicht im Domänennamen angezeigt.
Aber ich habe die zweite Route definiert, nämlich user im Stammverzeichnis. Zu diesem Zeitpunkt habe ich erneut auf 127.0.0.1/Laravel/public/user zugegriffen folgender Fehler

Als ich index.php hinzugefügt und in 127.0.0.1/Laravel/public/index.php/user geändert habe, konnte ich normal darauf zugreifen.

Warum andere darauf zugegriffen haben, als ich mir das Video-Tutorial angesehen habe direkt ohne Notwendigkeit hinzufügen

天蓬老师
天蓬老师

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

Antworte allen(5)
学霸

apache的重写配置有问题。url重写没成功。

巴扎黑

我都是直接在nginx或者apache中直接定位到public目录的,也就是说会自动访问public/index.php

代言

基本上确定是url重写的原因,我前几天也碰到了,我跟着教程写127.0.0.1/Laravel/public/user报错。灵机一动,换成127.0.0.1/Laravel/publicindex.php//user就好了。。对于这样的,楼主不必死磕,很浪费时间,知道原理就行了。学到后面很多问题迎刃而解!

为情所困

添加路由重定向
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 ^(.*)/$ /$1 [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

楼上的大神说的都很对了,但是我怀疑是不是你在public文件夹下的分布式配置文件没了,.htaccess文件你看下有吗,说起来的话,不可能对public文件夹下的访问可以跳过index.php,所以我建议你查看下这个文件是不是有问题.

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage