2016-04-30 85 views
1

我有以下路由:Route::resource('users', 'ProfileController');當我轉到site.com/users/123時,它正確加載頁面。我也可以去site.com/index.php/users/123並獲得相同的頁面(不確定laravel默認是否打算這麼做)。Laravel提供無效路由中的頁面

如果我將url更改爲site.com/does_not_exist/users/123,則laravel將返回404,如您所料。但是,如果我轉到site.com/does_not_exist/index.php/users/123,laravel將加載該頁面。我可以放置任何隨機路徑,site.com和index.php之間不存在的路徑,它將起作用。

爲什麼laravel不會爲此返回404?我該如何解決它呢?

回答

0

因爲index.php文件是公共文件夾中處理傳入的請求,它是一個自動生成的類加載器的index.php

這可能會實現(關於如何解決此問題類似的問題)

1 -Renaming的server.php到的index.php(沒有修飾)

2-複製htaccess的從公共(如rimon.ekjon下面所述)

3-更改htaccess的有點爲靜力學如下:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !^/public/ 
RewriteRule ^(css|js|images)/(.*)$ public/$1/$2 [L,NC] 

如果只有添加擴展到以前的申報表

Source

+0

所需的任何其他靜態文件將如何幫助? server.php在文檔根目錄之外,沒有人能夠訪問它。 – Telanor

相關問題