Laravel 5路线奇怪的行为

时间:2015-02-25 15:36:42

标签: laravel-5 homestead

我在Homestead的盒子上设置了一个Laravel网站,所以我在sitename.app:8000上访问它。我有一条名为" news"但是当我试着去sitename.app:8000/news时,我奇怪地被弹回sitename.app/news/

如果我将路线名更改为" news2"我可以按照sitename.app:8000/news2的正常情况访问所需的控制器操作。所以它不知何故"新闻"已经变得不合作了 - 我很确定当我尝试访问该网址时,我们甚至无法获得新闻控制器。

任何人都可以解决这些可能出错的症状吗?我在某个时候所做的一个与新闻相关的更改是在RouteServiceProvider的$router->model('news', "App\News");方法中添加boot,但删除它似乎没有什么区别

ETA:人们一直在询问routes.php文件。我可以从文件中删除除

之外的所有内容
Route::get('news', function() {
    return "hello world";
});

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

和/ news2会起作用,但/ news会让我反弹。所以我仍然相信这个问题比routes.php更深......

2 个答案:

答案 0 :(得分:2)

我终于弄明白我的骨头行为导致了这种行为!

我在/ public中创建了一个名为“news”的文件夹...即与重要路径同名。每次提出/新闻请求时,都不确定Laravel背后是什么造成了严重破坏,但人们可以认为这没什么好处。

建议任何人在“神秘不起作用”的路线上撕扯头发 - 检查公共文件夹是否存在可能的碰撞!

答案 1 :(得分:0)

这是一个已知问题Larvel missing port

解决此问题的最简单方法是转到public/index.php并设置SERVER_PORT值。

$_SERVER['SERVER_PORT'] = 8000;

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

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

相关问题