Redirect 当请求URL包含coldfusion处理的文件扩展名时,为什么IIS不重定向?

Redirect 当请求URL包含coldfusion处理的文件扩展名时,为什么IIS不重定向?,redirect,iis,coldfusion,iis-8.5,coldfusion-11,Redirect,Iis,Coldfusion,Iis 8.5,Coldfusion 11,我在一个IIS网站上设置了一个目录,可以将任何指向该目录的请求重定向到另一个域名,以便下载文件。在早期版本的IIS(7.5)和ColdFusion(9)中,它会重定向任何请求,但现在在使用IIS 8.5和ColdFusion 11的测试服务器上,它只会在请求不是ColdFusion处理的页面时重定向请求。我们将ColdFusion设置为处理htm、html、cfm和cfml www.domain.com/downloads/file.pdf->重定向到files.domain.com服务器上的f

我在一个IIS网站上设置了一个目录,可以将任何指向该目录的请求重定向到另一个域名,以便下载文件。在早期版本的IIS(7.5)和ColdFusion(9)中,它会重定向任何请求,但现在在使用IIS 8.5和ColdFusion 11的测试服务器上,它只会在请求不是ColdFusion处理的页面时重定向请求。我们将ColdFusion设置为处理htm、html、cfm和cfml

www.domain.com/downloads/file.pdf->重定向到files.domain.com服务器上的file.pdf

www.domain.com/downloads/file.cfm->404 www服务器上出现错误,因为www服务器上不存在/downloads/file.cfm


是否缺少设置某种优先级的位置,以便IIS在ColdFusion尝试处理请求之前处理重定向?

处理程序映射不是可选的。它们是IIS知道如何处理.cfm文件的方法。删除所有处理程序映射将保证您不会到达cfm页面


如果您在IIS中设置了一个新站点,并将index.htm文件放在根目录中,index.htm将得到正确的服务。要访问cfm页面,IIS需要知道将请求发送到哪里。这就是处理程序映射的用武之地。基本上,您告诉IIS将对.cfm的所有请求发送到您的CF引擎。如果查看在IIS中工作的站点,您将看到IIS 8站点的处理程序映射应该是什么样子。

如果显示为此目录配置的处理程序映射,这将非常有用。我删除了所有处理程序映射,每个都是。它仍然表现出同样的行为。我不确定你是否理解我的要求。在IIS8.5的/downloads目录中,我将HTTP重定向设置为将任何请求重定向到该目录。它将接受对该下载目录的任何请求,如gutbomb.pdf,并将其重定向到files.mydomain.com/gutbomb.pdf。除非原始请求的文件扩展名为html、htm、cfm或cfml,否则这一切正常。然后,它显示web服务器上的404错误,而不是重定向(这些文件不存在,下载目录为空,其唯一目的是重定向到文件站点)。