2

我遇到了一个问题,我正在使用 IIS 7.5 重新定向 .pdf 扩展名 url。这是发生了什么奇怪的事情:当我的 URL 不包含.pdf它时:http://mySite/documents/forms/testpdf (test.pdf) 完美打开。但是,当我这样打开时:http://mySite/documents/forms/test.pdf它向我展示

HTTP Error 404.0 - Not Found

您要查找的资源已被删除、名称已更改或暂时不可用。

我浏览了几个链接,例如:http ://chentiangemalc.wordpress.com/2012/02/16/case-of-the-disappearing-pdf/

http://support.microsoft.com/kb/979543

但不知道是否合适。还尝试通过提琴手调试,因为这个链接提到:http ://chentiangemalc.wordpress.com/2012/02/16/case-of-the-disappearing-pdf/

当我保存响应正文时,pdf 文件没有以正确的格式保存。所以我猜有某种文件损坏?也许?但是当我在 URL 中不包含 .pdf 时,我的文件会完美打开。不知道发生了什么:\

4

1 回答 1

1

我得到了答案。我必须更改 web.config 文件以允许 .pdf 文件在浏览器中打开:

 <preprocessRequest help="Processors should derive from Sitecore.Pipelines.PreprocessRequest.PreprocessRequestProcessor">
    <processor type="Sitecore.Pipelines.PreprocessRequest.SuppressFormValidation, Sitecore.Kernel" />
    <processor type="Sitecore.Pipelines.PreprocessRequest.NormalizeRawUrl, Sitecore.Kernel" />
    <processor type="Sitecore.Pipelines.PreprocessRequest.IIS404Handler, Sitecore.Kernel" />
    <processor type="Sitecore.Pipelines.PreprocessRequest.FilterUrlExtensions, Sitecore.Kernel">
      <param desc="Allowed extensions (comma separated)">aspx, ashx, asmx, pdf</param>
      <param desc="Blocked extensions (comma separated)">*</param>
      <param desc="Blocked extensions that stream files (comma separated)">*</param>
      <param desc="Blocked extensions that do not stream files (comma separated)" />
    </processor>
    <processor type="Sitecore.Pipelines.PreprocessRequest.StripLanguage, Sitecore.Kernel" />
  </preprocessRequest>
于 2012-11-16T14:41:35.197 回答