我在我的ASP.NET MVC项目中添加了一个文件夹"Manuals“。在这个文件夹中,我有两个pdf文件。
在我看来,我有这样的链接:
<a href="@Url.Content("~/Manuals/manual1.pdf")">XXXXXXX</a>据我所知,链接是生成的属性。在我的开发服务器上:
<a href="http://localhost/Manuals/manual1.pdf">XXXXXXX</a>在生产服务器上:
<a href="http://mysecretappaddress.com/Manuals/manual1.pdf">XXXXXXX</a>已在生产服务器上检查,并且存在pdf。但这里有个问题--我可以在本地服务器上访问pdf,但在生产服务器上我得到了404错误。是什么导致了这种奇怪的行为?
发布于 2014-11-17 20:19:40
您可以在web.config中添加MIME类型。我认为IIS上可能缺少MIME类型。
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".pdf" />
<mimeMap fileExtension=".pdf" mimeType="application/octet-stream" />
</staticContent>
</system.webServer>
</configuration>发布于 2014-11-17 20:25:31
默认情况下,IIS会阻止未知扩展名,并引发404.3错误。要“修复”这个问题,您可以将以下代码添加到web.config:
<system.webServer>
<staticContent>
<mimeMap fileExtension=".pdf" mimeType="application/pdf" />
</staticContent>
</system.webServer>More on this blog post
https://stackoverflow.com/questions/26972481
复制相似问题