Laravel 4.2:路由与公用文件夹中的子文件夹名冲突


Laravel 4.2 : Route is conflict with subfolder name inside public folder

我在Laravel 4.2中遇到了一些问题。以下是详细信息:

我有一个示例路由:

 Route::get('users', function(){return 'some-thing'}); 

和路由仍然正常工作在http:://localhost:8000/users.

然而,当我在公共文件夹中创建子文件夹时,其名称为"users"。

--public
  --users

该链接不起作用,返回文件夹索引。我知道这是一个很大的安全问题。

如何修复?你能帮帮我吗?

我不会说这是一个巨大的安全问题,如果那个文件夹中有敏感数据,那么它不应该被"公开"。您可以拒绝目录列表(假设Apache virtualhost或.htaccess):

Options -Indexes

和Laravel(以及大多数其他框架)的。htaccess文件一样,只有当文件或目录不存在时,它才会使用"Router"。这很常见,如下所示:

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