Laravel 5.3路线不起作用
Posted
技术标签:
【中文标题】Laravel 5.3路线不起作用【英文标题】:Laravel 5.3 route not working 【发布时间】:2017-02-27 11:35:28 【问题描述】:我已经安装了 laravel 5.3 的新副本。
我的route/web.php
中有以下代码。
Route::get('/', function ()
return view('welcome');
);
Route::get('welcome', function ()
return view('welcome');
);
当我在浏览器中点击 localhost/project/public
时,我可以看到 laravel 欢迎页面。
但是当我点击localhost/project/public/welcome
然后404 Not Found
出现在我应该得到相同的laravel 欢迎页面的地方。
我是不是忘记了什么?
【问题讨论】:
是否启用了 mod_rewrite 以便您可以使用 .htaccess? 请检查当你点击 localhost/project/public/index.php/welcome 时会发生什么 @VaheGalstyan 与localhost/project/public/index.php/welcome
合作...为什么会这样,我该如何解决。
您应该检查 apache 配置,启用 mod_rewrite,之后为获得最佳实践,请创建虚拟主机,这是一个链接 laravel-recipes.com/recipes/25/creating-an-apache-virtualhost,一切都应该正常工作。原因是您的 apache 配置可能已禁用 mod_rewrite 并且 .htaccess 文件无法正常工作。
【参考方案1】:
Laravel 不区分大小写,因此如果您使用其中之一创建项目,将找不到路径。
【讨论】:
【参考方案2】:我自己也遇到了一些麻烦,所以对于任何无法通过 Laravel 路线上班的人:
-
通过运行
php artisan route:list
确保您的路线定义正确,您的路线应该连同方法一起显示。 (获取、发布、...)
Enable mod_rewrite 来自 Apache 设置,因此 Laravel 可以将 /uri 映射到您喜欢的任何内容。
修改 .htaccess 或 Apache settings 以允许 url 覆盖:AllowOverride All
如果您正在处理类似 localhost/~username/yourproject
的内容,还请检查 /private/etc/apache2 中的 username.conf
文件。
我不是 Apache 设置方面的专家,因此请随时在需要的地方进行更正或详细说明。
【讨论】:
【参考方案3】:你的路由文件被缓存了吗?看看你运行时会发生什么:
php artisan route:clear
然后再试一次。
【讨论】:
【参考方案4】:转到你的 laravel 文件夹中的 htaccess 在 ( RewriteEngine On ) 之后添加这个
RewriteBase /yourlaravel project name/public
示例: RewriteBase /laravel/public
【讨论】:
以上是关于Laravel 5.3路线不起作用的主要内容,如果未能解决你的问题,请参考以下文章