【问题标题】:using intelligencia url re-writer in a classic asp webapp在经典的 ASP Web 应用程序中使用 intelligencia urlrewriter
【发布时间】:2025-12-01 10:30:01
【问题描述】:

我有一个经典的 asp webapp,我需要在其中实现 url 重写。我之前在 asp.net 应用程序中使用过 intelligencia url re-writer,所以我目前的想法是创建一个新的 asp .net 应用程序,向其添加 url 重写组件,然后在顶部添加经典的 asp 应用程序。它托管在共享网络空间中,因此我无法将 isapi 组件添加到网络服务器。

这是正确的方法吗?我需要进行哪些配置更改才能让经典的 asp 和 asp.net 愉快地坐在一起?

任何建议将不胜感激。

【问题讨论】:

    标签: asp.net asp-classic


    【解决方案1】:

    您也许可以使用 404.asp 来执行此操作。我在 IIS6 上运行 HELM,可以像这样使用我的 404.asp:

    URLPath = LCase(Replace(Request.Servervariables("QUERY_STRING"), "404;http://" & Request.ServerVariables("SERVER_NAME") & ":" & Request.Servervariables("SERVER_PORT"), ""))
    
    If URLPath = "/lalala" Then
        Response.Status="200 OK"
        Response.Write "La la la!"
    Else
        Response.Status="404 Not Found"
        Response.Write "File not found."
    End If
    

    【讨论】:

    • 你好,奥斯卡。这不是我目前正在采取的策略,但如果我无法通过 intelligencia url re-writer 和 .net 获得结果,那么我会尝试你的角度。我不确定 url 重写器是否会在后台使用相同的想法,但我担心搜索引擎是否将其视为某种伪装技术。目前我知道谷歌对我所遵循的技术没有问题......唯一的问题是我不知道它是否会起作用。
    • @Oskar 已经放弃了我所采取的角度,并认为你的路线是最好的前进方式。一个问题是,在找不到页面和网络服务器提供自定义 404 之间的时间,客户端(搜索引擎或浏览器)是否意识到该页面尚未找到并且正在被重定向?还是这部分对客户完全隐藏。即是客户端看到的唯一状态码,我们在 404.asp 的 Response.status = 行中编码什么?
    • 客户端只会收到此脚本确定的状态,不会发送额外的404 och 3XX状态。至少这就是它在我的系统上的工作方式。您可以使用此工具进行检查:seoconsultants.com/tools/headers.asp
    • 由于原始问题的限制,您的方法似乎是最好的方法。我实际上设法让主机在服务器上安装 URL 重写器,所以我现在采取了更直接的路线。感谢您的帮助奥斯卡。
    最近更新 更多