gpt4 book ai didi

iis - asp.net HttpModule可以将请求转发到asp.dll吗?

转载 作者:行者123 更新时间:2023-12-02 10:58:05 26 4
gpt4 key购买 nike

我想要实现的目标:

使用 asp.net 应用程序拦截对 .asp 文件的请求
然后将网址重写为搜索引擎友好的内容
然后将请求传递给asp.dll来处理该请求。

我如何努力实现它:

我正在尝试让 intelligencia url 重写适用于经典的 asp 应用程序

  1. 更改网站的 IIS 映射,以便 .asp 扩展名由 asp.net 应用程序处理。
  2. 然后 intelligencia asp.net url 重写器会重写该 url。
  3. 然后将请求的 .asp 页面转发到 asp.dll 进行处理。这一点能做到吗?有什么想法吗?

我的局限性:

  • 共享托管帐户,因此我无法在服务器上安装 isapi 过滤器。

这听起来像是可以通过编写 HTTPModule 来完成的事情吗?

我考虑过使用 301 重定向,但担心 Google 排名问题。

最佳答案

由于管道的工作方式,.NET HttpModule 无法将请求转发到 II6 中的经典 ASP。当您的 .NET 模块执行时,您已处于 ASP.NET 处理程序中,并且无法转移到 ASP 处理程序。

IIS7 具有集成管道,它允许您使用 .NET HttpModule 将请求重写到经典 ASP 处理程序。

您可以有一个自定义 404 处理程序,用于清除响应中的 404 状态并执行 Server.Transfer 或 Server.Execute 您的页面。唯一的问题是您无法传递查询字符串参数,因此您的页面需要解析请求并手动提取变量。

我使用 Smart404 的修改版本处理 SEO 友好的 URL、移动的文件等。他们称该功能为“virtual_aliases”。

关于iis - asp.net HttpModule可以将请求转发到asp.dll吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1567075/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com