【问题标题】:Laravel 4: I have a route parameter named the same as a folder in my public folder, the route is not getting calledLaravel 4:我的公用文件夹中有一个与文件夹名称相同的路由参数,该路由没有被调用
【发布时间】:2014-11-02 23:19:17
【问题描述】:

在 Laravel 4 中,

我有一个这样定义的路线:

Route::controller('abc','abc\SomeController');

在我的公共文件夹中,我有这个:

abc
packages
.htaccess
.project
favicon.ico
index.php
robots.txt

如果我浏览到路线,我会看到 abc 文件夹的目录视图。如果我将 abc 文件夹重命名为 xyz,那么我的路线就可以了。有任何想法吗?

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案1】:

    您所体验的是网络服务器的正常行为。
    Web 服务器在您的公共目录中找到实际的 abc 文件夹,因此 URL 不会重定向到 index.php,而是直接请求 abc/SomeController(并且在 public/abc 中找不到 SomeController)

    这是正常行为。如果服务器发现abc文件夹存在,这个URL不会重定向到index.php,而是直接发送到abc

    【讨论】:

    • 我知道它是命名空间。这就是我重命名公用文件夹时它起作用的原因。
    • 如果我的公共目录中没有名为“abc”的文件夹,该路由会正确调用命名空间控制器。
    • 我的公共目录就在 webroot 里面,而我的项目文件夹在 webroot 外面。所以我的公用文件夹也没什么奇怪的。这把我难住了!
    • 这是正常行为。如果服务器发现abc文件夹存在,这个URL不会重定向到index.php,而是直接发送到abc
    • 已经完成。不,我没有任何解决办法。我不认为你可以做任何事情,但重命名。
    猜你喜欢
    • 2012-01-30
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    • 2014-08-13
    • 2019-05-22
    • 2013-06-27
    • 2016-09-02
    相关资源
    最近更新 更多