使用虚假扩展名调用ImageResizer时,DotNetNuke会重定向

时间:2014-04-25 08:43:35

标签: iis web-config dotnetnuke imageresizer

我在我的DotNetNuke环境中安装了ImageResizer库,如http://imageresizing.net/docs/workswith/dotnetnuke所述

但是一旦我调用缩放器扩展程序,我就会被重定向到我的门户网站

我在web.config中的调整大小设置与安装指南中的示例完全相同

<resizer>
    <pipeline fakeExtensions=".ashx" />
    <plugins>
        <add name="MvcRoutingShim" />
        <add name="DiskCache" />
    </plugins>
</resizer>

对我来说很好,但是一旦我尝试通过扩展程序调用图像,我就会被重定向到网站的根目录。

致电:

http://localhost/Portal/0/Image.jpg.ashx

重定向至:

http://localhost/

我无法弄清楚如何解决这个问题。它是DotNetNuke还是IIS设置?

我已经尝试过的事情:

  • 选中网站配置,并确保.ashx扩展程序未选中“验证文件是否存在”复选框。
  • 尝试使用其他扩展程序
  • 尝试在IIS中添加通配符
  • 已检查resizer.debug.ashx,

    检测到2个问题:

    (Warning):  To potentially see additional errors here, perform an image resize request.
    Server(Warning):    Microsoft-IIS/6.0 does not support Integrated mode or does not have it enabled.
        You must append the .ashx extension to any image requests you wish to process.
    

似乎永远不会调用处理程序,并且重定向基于没有名为Image.jpg.ashx的物理文件的事实发生。

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这是SiteUrls.config中的一个有缺陷的重写因素导致了这个问题:

<RewriterRule>
  <LookFor>[^?]*/(\d+)/(.*)</LookFor>
  <SendTo>~/Default.aspx?tabid=$1</SendTo>
</RewriterRule>