關於PHP 的 Laravel 框架的路由問題,求大神解答
天蓬老师
天蓬老师 2017-06-30 09:52:44
0
5
897

我在routes/wen.php中定義了以下路由:

#我訪問public/index.php 時可以正常進入Index控制器中的Index方法,這時候我的網域是:127.0.0.1/Laravel/public , 因為apache配置,所以預設打開了index.php 只在在網域名稱中沒有顯示,
但我定義了第二個路由,也就是根目錄下的user 這時候我又造訪127.0.0.1/Laravel/public/user
結果出現以下錯誤

當我把index.php 加上變成了127.0.0.1/Laravel/public/index.php/user 此時正常訪問,不明白為什麼,
為什麼我看視頻教程中別人都是直接訪問的,不需要加上index.php

天蓬老师
天蓬老师

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

全部回覆(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 ^(.*)/$ / [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,所以我建議你查看下這個文件是不是有問題.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板