如果我尝试访问无效的图片网址,例如example.com/images/non-existent-image
抛出一个错误:Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException
无效的图片网址引发异常
我应该如何避免这种情况,有没有我要补充一个特定的路线(-requirement),或者我应该使用类似htaccess的规则?
感谢
如果我尝试访问无效的图片网址,例如example.com/images/non-existent-image
抛出一个错误:Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException
无效的图片网址引发异常
我应该如何避免这种情况,有没有我要补充一个特定的路线(-requirement),或者我应该使用类似htaccess的规则?
感谢
好的这个问题的答案是双重的。
首先:是的,不应通过前端控制器请求静态资源(根据平台的评论)。 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的评论here)
如果这是一个错误的许可权限一样否认你会得到某物。再次检查路径...还要检查是否已将文件夹映像放置在服务器的正确目录中(尝试将映像/放在WEB-INF目录所在的同一目录中..出于安全原因,无法访问WEB-INF下的文件)
有效的图像网址工作正常。问题是无效的图片网址会引发错误(500)而不是404 – 2013-04-26 14:37:09
这意味着(请参阅[链接] http://en.wikipedia.org/wiki/List_of_HTTP_status_codes)这是一个内部服务器错误,并且它没有根据给定的路径做任何事情。当你说一个“无效图像”时,你是什么意思?损坏?失踪?别的? – 2013-04-26 14:43:41
无效的路径,所以一个不存在的图像。我知道状态码的含义。我认为/ images路径不应该由symfony路由器(?)处理。那是我的问题 – 2013-04-26 14:46:56
您应该配置您的网络服务器的方式,静态数据**不会**通过前端控制器(app.php)请求 – 2013-04-26 19:07:19