2012-11-16 134 views
2

我遇到了一個問題,我正在使用IIS 7.5重新定向.pdf擴展名。這裏是什麼奇怪的事情發生:當我的網址不包含.pdf就像它:http://mySite/documents/forms/test pdf(test.pdf)打開完美。然而,當我這樣打開通過:http://mySite/documents/forms/test.pdf它顯示我IIS 7.5 404錯誤.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時,我的文件完美地打開了。不知道發生了什麼事:\

+0

您使用的是MVC嗎? –

+0

Nops,Sitecore。 –

+1

您是否檢查過以確保'application/pdf' mime類型配置正確,並且沒有爲.pdf擴展名配置ISAPI篩選器? – lukiffer

回答

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> 
+0

我知道這是一個長鏡頭,因爲這是一箇舊帖子,但是你把它放在web.config文件中的哪個位置? – Aserian