Orchardcms Orchard中媒体文件的自定义404

Orchardcms Orchard中媒体文件的自定义404,orchardcms,orchardcms-1.9,Orchardcms,Orchardcms 1.9,有没有办法为Orchard媒体目录中的文件创建自定义404页面?当有人试图从不再存在的特定路径(/Media/Default/MySpecificFolder/)下载文件时,我想显示一条特定的错误消息。现在,如果一个文件不存在,它只会呈现一个空白页面 Orchard使用StaticFileHandler处理图像(媒体文件夹中的任何内容)、css和js文件等。 有一个家伙试图为资产创建“SEO”路线。在模块库中进行查看 总而言之,在越来越多的人使用CDN或Bucket向网站提供图像并减轻服务器负载

有没有办法为Orchard媒体目录中的文件创建自定义404页面?当有人试图从不再存在的特定路径(/Media/Default/MySpecificFolder/)下载文件时,我想显示一条特定的错误消息。现在,如果一个文件不存在,它只会呈现一个空白页面

Orchard使用StaticFileHandler处理图像(媒体文件夹中的任何内容)、css和js文件等。 有一个家伙试图为资产创建“SEO”路线。在模块库中进行查看

总而言之,在越来越多的人使用CDN或Bucket向网站提供图像并减轻服务器负载的今天,将资产置于太多逻辑背后似乎是个坏主意

您可以使用oldskool并重写处理程序。我以前一直都是这样,回到网络表单。下面是一些看起来像是真的代码:

对于主web.config,可能不使用处理程序,但会覆盖您可能希望为特殊404页面提供服务的文件夹中的处理程序

我不知道你为什么需要那样的东西,但是去做吧

考虑一下,您可以创建一个形状来抽象您所追求的功能。我主要从文件的侧面思考,因为我仍然在与图像斗争

您的形状将标记路径中的文档,该路径将拾取id或url,如果文件不存在,则重定向到404,但如果文件存在,则只发送文件


这有意义吗

谢谢你。这是有道理的。我们希望这样做的原因是用户提交表单,并在媒体库中以特定路径为他们生成文件。然后,它们被发送到带有消息和下载链接的页面,并发送带有该链接的电子邮件。然后运行一个任务,查找60天或更久的文件并将其删除。如果他们被删除,并且用户试图下载文件,我们希望告诉用户重新提交表单。为此,请使用控制器。在orchard中查看验证电子邮件帐户的方法。它使用了一种叫做“nonce”的东西(这是一个晶体学术语,不用太担心)。最后一次看它时,它没有存储字符串,但是你可以在没有它的情况下轻松使用它,或者自己完成它。不要重写StaticFileHandler pleaseYep,你让我意识到这个想法是多么愚蠢,因为我可以让一个控制器带有一个查询字符串param,返回正确的文件或显示消息或重定向。我想我是想得太多了。