【问题标题】:Laravel 5.3 route not workingLaravel 5.3路线不起作用
【发布时间】: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 文件无法正常工作。

标签: php laravel laravel-5


【解决方案1】:

Laravel 不区分大小写,因此如果您使用其中之一创建项目,将找不到路径。

【讨论】:

    【解决方案2】:

    我自己也遇到了一些麻烦,所以对于任何无法通过 Laravel 路线上班的人:

    1. 通过运行php artisan route:list 确保您的路线定义正确,您的路线应该连同方法一起显示。 (获取、发布、...)
    2. Enable mod_rewrite 来自 Apache 设置,因此 Laravel 可以将 /uri 映射到您喜欢的任何内容。
    3. 修改 .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

        【讨论】:

          猜你喜欢
          • 2017-10-02
          • 2013-05-03
          • 2014-09-08
          • 2015-03-18
          • 1970-01-01
          相关资源
          最近更新 更多