我在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
代言2017-06-30 09:54:44
基本上確定是url重寫的原因,我前幾天也碰到了,我跟著教學寫127.0.0.1/Laravel/public/user報錯。靈機一動,換成127.0.0.1/Laravel/publicindex.php//user就好了。 。對於這樣的,樓主不必死磕,很浪費時間,知道原理就行了。學到後面很多問題迎刃而解!
为情所困2017-06-30 09:54:44
新增路由重定向
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
typecho2017-06-30 09:54:44
樓上的大神說的都很對了,但是我懷疑是不是你在public文件夾下的分佈式配置文件沒了,.htaccess文件你看下有嗎,說起來的話,不可能對public文件夾下的訪問可以跳過index.php,所以我建議你查看下這個文件是不是有問題.