【发布时间】:2009-10-16 14:43:09
【问题描述】:
您好,我想知道如何将 iis 6.0/asp.net 中所有 pdf 文件请求的 http://mysite.com/pdf/blah.pdf 重定向到 http://mysite.com/pages/page.aspx。通过搜索无法找到任何确定的内容。
【问题讨论】:
您好,我想知道如何将 iis 6.0/asp.net 中所有 pdf 文件请求的 http://mysite.com/pdf/blah.pdf 重定向到 http://mysite.com/pages/page.aspx。通过搜索无法找到任何确定的内容。
【问题讨论】:
您可以为 IIS6.0 编写一个简单的 ISAPI 插件。我有一个类似的问题,将所有 HTML 重定向到 ASP 文件。我写了一个blog post about the plugin。看看它是否有帮助。
【讨论】:
如果您只想在没有任何程序的情况下重定向请求,IIS6 上最简单的选项是使用 URL 重写。在这种情况下,您可以指示浏览器执行 301 或 302 重定向到您的 ASPX 页面。以下是一些适用于 IIS6 的选项:
如果您想以编程方式执行任何操作,您需要在 IIS 中为 .pdf 扩展名创建一个扩展名映射,以将请求发送到 ASP.NET,然后创建一个 HTTP 处理程序并在 web.config 中注册以进行处理请求 *.pdf。
<httpHandlers>
<add verb="*" path="*.pdf" type="MyNamespace.MyPdfHandler, MyAssembly"/>
</httpHandlers>
【讨论】:
如果您的意思是磁盘上不存在 PDF,并且您想调用 aspx 页面来查找 PDF 并将其发送到浏览器?
如果是这样,有两种方法:
1) 在 ISS 中的 /pdf/ 文件夹中设置 404 重定向以指向 /pages/page.aspx 您可能需要添加一个带有文件 ID 的查询字符串参数,该参数将在 page.aspx 中可用。
2) 创建一个 HttpHandler 来处理这个问题。
【讨论】: