我最近开始学习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