【问题标题】:Route not working in laravel路线在laravel中不起作用
【发布时间】:2014-11-21 14:21:50
【问题描述】:

我“认为”我已经使用 2 个不同的互联网指南成功安装了 Laravel。这是其中之一

http://phpraxis.wordpress.com/2014/07/04/getting-started-with-laravel-4-on-ubuntu-installation-and-configuration/

我已经成功获得了包含 laravel 测试页面“你已经到达”

我现在无法添加其他路线。这就是我在 routes.php 文件中所做的

|

*/

Route::get('/', function()
{
        return View::make('hello');
});


Route::any('foo', function()
{
    return 'Hello Andrea';
});

如果我添加页面 foo 或 foo.php 我会收到错误

找不到

在此服务器上找不到请求的 URL /foo。

我可以更改默认视图中的代码

但是如果我做这样的事情

Route::get('/', function()
{
        return 'Hello Andrea';
});

一切正常

我很困惑。我认为我没有得到 Laravel 的意见。作为我旅程的第一步,我将如何解决这个问题

Route::any('foo', function()
{
    return 'Hello Andrea';
});

一些指南还建议将 Laravel 放在主文件夹中,例如/home/username/laravel 当我尝试这个时,我什至无法得到“你已经到达页面”

我认为 Laravel 的学习曲线很浅?一定是我。

感谢您的帮助

编辑

我发现一个页面说php文件中的conf.d是旧方法,它应该只在同一级别的其他目录上~:apach2和cli,现在你在apache2中创建sym链接和cli。有什么意见非常感谢?

谢谢

【问题讨论】:

  • 你在哪里添加 'foo.php' 文件?您不必添加任何视图文件即可使该简单路线起作用。尝试删除您添加的文件,然后访问该路线。如果您尝试设置刀片模板文件,则该文件应命名为 foo.blade.php 并应保存在 app/views 文件夹中的某个位置
  • 渲染“hello”视图的 url,工作正常吗?
  • ~watcher = 这只是一个抓住所有试图去任何有 foo 的页面
  • ~soldier = 是的,它可以正常工作
  • 您应该接受最佳答案。

标签: php laravel laravel-routing


【解决方案1】:

你需要确保你有 mod_rewrite for Apache 并且你的 public 文件夹中有以下 .htaccess 文件(Laravel 默认):

<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 重写做任何事情。
  • 我写了一个apache站点配置文件
【解决方案2】:

转到服务器的 httpd.conf 文件并从下面显示的行中删除哈希

LoadModule rewrite_module modules/mod_rewrite.so

【讨论】:

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