我最近開始學習Laravel,但有一個問題,我不知道它爲什麼會發生。我目前的Laravel項目位於wamp/www/codebright
。當我訪問localhost/codebright/public
時,我看到Laravel的歡迎頁面。Laravel基本路由返回404
當我創建一個簡單的路由:
Route::get('my/page', function()
{
return "Harro world";
});
,並試圖訪問: localhost/codebright/public/my/page
它與404錯誤返回,甚至不Laravel錯誤。我也嘗試訪問:localhost/codebright/my/page
仍然。
但是,如果我輸入CMD php artisan serve
並在8000端口上打開一個服務器,然後訪問: localhost:8000/my/page
它工作得很好。我想知道爲什麼我的第一個方法沒有artisan
命令不起作用。
在此先感謝!
注
這似乎是,如果你有安裝XAMPP,沒有如上文和回答的評論部分中提到的問題發生。基本上,如果你使用XAMPP,你很可能不會得到任何錯誤,程序將工作得很好。
好的,這解釋了這個問題。任何建議?我應該使用什麼? 'php artisan serve'或者直接訪問我的'public'文件夾。另請參考我的網絡應用程序最終會使用的主機。我的意思是當我的網站存儲在我的主機公司時,我無法在我的網站上運行'php artisan serve',因此我必須訪問'public'目錄,對嗎?如何修復我的文件,以便它能正常工作? – kfirba
絕大多數託管服務提供商都會爲您的虛擬主機安裝'mod_rewrite' *和*'AllowOverride All',允許您使用'.htaccess'文件。我的觀點是,對於整個PHP應用程序來說,這是一個普遍的要求(Laravel在這裏並不特別,這些要求並不瘋狂),他們都支持它 - 如果他們不需要一個新的主機。 – alexrussell
在本地,你可以做你想做的事情,儘管我會建議你試着正確地設置你的Apache環境(爲了節省每次在網站上工作時都要做的事情) - 這可能只是一個' sudo a2enmod rewrite'命令行,然後檢查在您的Apache配置中設置了「AllowOverride All」。 – alexrussell