0

如果我尝试访问无效的图像 url,例如example.com/images/non-existent-image会引发错误:Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException

我应该如何防止这种情况,是否有我应该添加的特定路线(-requirement),或者我应该使用类似 .htaccess 规则的东西?

谢谢

4

2 回答 2

0

如果这是一个权限错误,你会得到类似权限被拒绝的东西。再次检查路径...还要检查您是否已将文件夹 images 放置在服务器中的正确目录中(尝试将 images/ 移动到 WEB-INF 所在的同一目录中。出于安全原因,无法访问 WEB-INF 下的文件)

于 2013-04-26T14:35:16.237 回答
0

好的,这个问题的答案是双重的。

首先:是的,不应通过前端控制器请求静态资源(根据 thecatontheflat 的评论)。Symfony 在.htaccess随标准版分发的文件中有一条规则:

# If the requested filename exists, simply serve it.
# We only want to let Apache serve files and not directories.
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]

事实证明,我的问题出在其他地方。symfony 抛出ResouceNotFoundException. 然而,这个错误应该被捕获并且应该创建一个 404 来代替。这没有发生,因为我IS_GRANTED在我的错误模板中使用。(另请参阅此处的 stof 评论)

于 2013-04-29T11:57:07.517 回答