如何使Apache将控制权传递给Laravel以获取特定的URL

时间:2014-03-19 17:36:50

标签: laravel

我有一个/ad-reports//ad-reports/promos的Laravel路由工作正常,直到我在public内放置与这些名称匹配的目录。我为什么这样做?我需要它们进行缓存,因此如果在/ad-reports/promos/12345.pdf内没有保存名为12345.pdf的PDF,则Laravel会处理(例如)public/ad-reports/promos的请求,但如果PDF已经保存,则由Apache执行已经创建并保存在那里。

我不想弄乱我的网址结构(有了路由的全部意义,所以我们不会让文件系统决定我们的网址)当然我不能放弃缓存。

如何强制Apache忽略/ad-reports//ad-reports/promos的请求,但是处理应该处理的所有内容?

或者(更好的是,实际上)如何让Apache忽略对文件夹的请求,并且只响应特定文件的请求,让Laravel处理与public内的文件不匹配的任何内容?

1 个答案:

答案 0 :(得分:3)

从.htaccess文件中删除此行:

RewriteCond %{REQUEST_FILENAME} !-d

如果目录存在,它告诉apache处理目录,但只需要它来处理文件是否存在,这是由-f行完成的。