【问题标题】:PHP Laravel route not workingPHP Laravel路线不起作用
【发布时间】:2014-11-13 14:20:46
【问题描述】:

我已经从 Composer 安装了 PHP laravel,所以我创建了一个路由:

Route::get('cats/{id}', function()
{
return "Cat #$id";
});

但是当我进入:http://www.oktech-servers.net/cats/12345

错误消息提示:Whoops, looks like something went wrong.

我还想提一下 htaccess:

RewriteEngine On
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

我的主机管理员说 mod-rewrite 工作正常,但我找不到为什么会出现这个错误!!

问候。

【问题讨论】:

  • 哎呀,出了点问题,你的代码有错误吗?打开laravel中的错误。你会知道那里有什么问题
  • 设置debug为true后的错误是:ErrorException (E_UNKNOWN) Undefined variable: id!!
  • 这意味着你没有定义你的变量。在路线 {}
  • 因为您没有返回任何需要在使用之前定义变量的文件。希望对你有帮助
  • 我是这方面的新手,我如何定义变量?...

标签: php .htaccess laravel laravel-routing


【解决方案1】:

来自Laravel documentation的路线:

Route::get('user/{id}', function($id)
{
    return 'User '.$id;
});

注意function($id),这是定义变量的地方。

【讨论】:

    【解决方案2】:

    请更改此行 #LoadModule rewrite_module modules/mod_rewrite.so

    到

    LoadModule rewrite_module modules/mod_rewrite.so

    在 httpd.conf 上

    【讨论】:

      【解决方案3】:

      在你的函数中获取参数 $id。你没用过

      Route::get('user/{id}', function($id) {
         return 'User '.$id;
      });
      

      【讨论】:

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