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路线不起作用的主要内容,如果未能解决你的问题,请参考以下文章

数据表在 Laravel 5.3 中不起作用

Laravel 5.3 db:seed 命令根本不起作用

Laravel 路线根本不起作用

Laravel 5 条新路线不起作用

为啥 Laravel 中的新路线不起作用?

路线在 laravel 4.2 中不起作用