代码之家  ›  专栏  ›  技术社区  ›  thesunneversets

Laravel 5路奇怪行为

  •  1
  • thesunneversets  · 技术社区  · 10 年前

    我在Homestead盒子上建立了一个Laravel网站,所以我在 sitename.app:8000 。我有一条叫“新闻”的路线,但当我试图去 sitename.app:8000/news 我被奇怪地弹了出来 sitename.app/news/ .

    如果我将routename更改为“news2”,我可以在 sitename.app:8000/news2 。所以不知怎么的,是“新闻”本身变得不合作了——我很确定,当我试图访问该url时,我们甚至没有达到NewsController的要求。

    有人能从这些症状中找出可能出了什么问题吗?我在某个时候做了一个与“新闻”相关的改变 $router->model('news', "App\News"); boot RouteServiceProvider的方法,但删除它似乎并没有什么不同。

    ETA:人们不断要求提供routes.php文件。我可以从文件中删除所有内容,除了

    Route::get('news', function() {
        return "hello world";
    });
    
    Route::get('news2', function() {
        return "hello world";
    });
    

    和/news2会起作用,但/news会让我振作起来。因此,我仍然非常确信问题比routes.php更深。。。

    2 回复  |  直到 10 年前
        1
  •  1
  •   thesunneversets    10 年前

    我终于弄明白是什么愚蠢的行为导致了这种行为!

    我在/public中创建了一个名为“news”的文件夹。。。i、 e.与重要路线同名。不确定每次请求/新闻时,这在幕后对拉雅维尔造成了什么样的破坏,但人们可以假设这没有什么好处。

    建议任何人在“神秘不起作用”的路线上撕扯头发——查看您的公共文件夹,查看可能发生的碰撞!

        2
  •  0
  •   DouglasDC3    10 年前

    这是一个已知的问题 Larvel missing port

    解决这个问题的最简单方法是: public/index.php 并设置 SERVER_PORT 价值

    $_SERVER['SERVER_PORT'] = 8000;
    

    如果您使用网站上的链接,请不要忘记在配置中设置基url,url生成器使用配置中定义的基url。

    最后一个选项是将VagrantFile中的vm portfoward更改为指向端口80,并将端口80用于应用程序。