KMN*_*KMN 1 iis url rewrite sitecore request
如何强制Sitecore处理任何文件请求,而不是从IIS获取404.原因是,我们希望能够将URL重写模块(http://github.com/ParTech/Url-Rewriter)应用于文件请求.
示例:用户请求:http://sitecore.domain/randomfolder/file.pdf(存在哪个剂量)
但是,我们希望Sitecore获取请求,并应用任何重写规则(如果可用),而不是获取IIS"HTTP错误404.0 - 通过StaticFile找不到",否则使用Sitecore notfound页面.
我已经尝试向system.webserver添加不同的处理程序但没有成功,以及在IIS设置上直接修改Handler Mappings.
我不确定你是否应该去那里,因为所有请求都将通过Sitecore,但如果你想要它,你可以改变这个配置:
<preprocessRequest>
<processor type="Sitecore.Pipelines.PreprocessRequest.FilterUrlExtensions, Sitecore.Kernel">
<param desc="Allowed extensions (comma separated)">aspx</param>
<param desc="Blocked extensions (comma separated)">*</param>
<param desc="Blocked extensions that stream files (comma separated)">css,js</param>
<param desc="Blocked extensions that do not stream files (comma separated)">*</param>
</processor>
</preprocessRequest>
Run Code Online (Sandbox Code Playgroud)
设置允许的扩展名*并将阻止的扩展名设置为空(未测试).
如果你知道要重定向的扩展名(例如只是PDF文件),那么只能在允许的扩展名设置中定义那些(我建议你这样做).
<param desc="Allowed extensions (comma separated)">aspx,pdf</param>
Run Code Online (Sandbox Code Playgroud)
我认为这是URL重写器模块处理请求所需的唯一内容.
请记住,对于要由该模块处理的文件请求,它是未经测试且不受支持的,但理论上它应该可以工作.