Symfony-如何处理在/public中存在同名文件夹的路径/

Symfony-如何处理在/public中存在同名文件夹的路径/,symfony,routing,Symfony,Routing,我有一个文件夹/public/press/,其中包含供媒体下载的PDF文件。 现在我想用path/press创建一个新页面/ 发生的情况是,服务器找到现有文件夹并返回“禁止”消息,而不是将文件夹名称映射到index.php routes.xaml: .htaccess: 选项-多视图 重新启动发动机 重写cond%{REQUEST_FILENAME}-F 重写cond%{REQUEST_FILENAME}-D 重写规则^(.*)$index.php[QSA,L] 更糟糕的是,如果我使用Sym

我有一个文件夹/public/press/,其中包含供媒体下载的PDF文件。 现在我想用path/press创建一个新页面/

发生的情况是,服务器找到现有文件夹并返回“禁止”消息,而不是将文件夹名称映射到index.php

routes.xaml:

.htaccess:


选项-多视图
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php[QSA,L]

更糟糕的是,如果我使用Symfony的内置开发服务器进行测试,一切都会正常工作。使用Apache时,我会收到现有文件夹的禁止消息。

请参阅Apache错误日志文件中的:e.a./var/log/apache2/error.logI我相信这一切都归结于目录索引访问。apache提供了这种功能,理论上,您可以访问目录索引(在本例中为
/press
)并列出所有文件。如果用
删除该行-d
这可能已经足以触发url被重写…@Jakumi-我已经尝试删除了-d条件,但这会导致重定向循环。重定向循环介于/press和/press/之间。最简单的解决方案是将effing目录重命名为不显示为路由的目录。否则,您可能可以通过某处禁用尾部斜杠重定向。
press:
    path: /press
    controller: App\Controller\StaticpagesController::press
<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>