[英]Laravel routing: The requested was not found on this server
我只是在亚马逊上设置了一个Ubuntu环境来运行我的Laravel应用程序。 但是,我无法访问我的路由,该路由在我的本地计算机(MAMP)上可以正常工作。
尝试访问ip/recipe-site/public/recipes
时,遇到以下错误:
The requested URL /recipe-site/public/recipes was not found on this server.
但是,我可以正常访问ip/recipe-site/public/
,这使我怀疑我的Apache配置有问题。
我做错了什么?
路由不起作用,因为您可能已将应用程序直接放入/var/www/html
并从那里直接提供流量,而不是/var/www/html/recipe-site/public
Laravel解构用于访问网站的URL,然后根据该URL确定将使用的路由。
如果您的网址看起来像127.0.0.1/recipe-site/public/recipes
,那么laravel会寻找路线recipe-site/public/recipes
而我猜您的路线只是recipes
。
要解决此问题,您需要在apache配置中更改DocumentRoot
设置,以反映项目公用文件夹的位置。
DocumentRoot /var/www/html/recipe-site/public
然后,您将仅通过IP地址访问该项目,使您的url类似于127.0.0.1/recipes
,这时laravel会寻找路线recipes
。
当您访问ip/recipe-site/public
时,该应用程序可以正常工作,因为默认情况下,apache将提供位于public
的index.php文件,并且您将获得默认路由。
您可能还需要仔细检查是否启用了mod_rewrite
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.