Ajax 重定向ASP包含页而不循环

Ajax 重定向ASP包含页而不循环,ajax,redirect,asp-classic,infinite-loop,Ajax,Redirect,Asp Classic,Infinite Loop,我相信有一个简单的解决方案: 我们有一个ASP页面,它使用Ajax供用户浏览内容。我们的问题是,当谷歌抓取我们的网站时,它会将搜索结果链接到非样式的内容页面。我们希望能够将流量从内容页面重定向到调用它们的样式页面。我们如何在不将页面发送到无限重定向循环的情况下实现这一点 我们已经考虑过解决问题的其他方法,但这正是我们想要实现的;将.ASP页面重定向到包含它们的页面,而不将它们发送到循环中。当然,任何人都有我们尚未考虑的建议 我已经浪费了整整一天的时间试图找到一个在ASP中运行的解决方案,但运气不

我相信有一个简单的解决方案:


我们有一个ASP页面,它使用Ajax供用户浏览内容。我们的问题是,当谷歌抓取我们的网站时,它会将搜索结果链接到非样式的内容页面。我们希望能够将流量从内容页面重定向到调用它们的样式页面。我们如何在不将页面发送到无限重定向循环的情况下实现这一点

我们已经考虑过解决问题的其他方法,但这正是我们想要实现的;将.ASP页面重定向到包含它们的页面,而不将它们发送到循环中。当然,任何人都有我们尚未考虑的建议


我已经浪费了整整一天的时间试图找到一个在ASP中运行的解决方案,但运气不好,明天我可能会花上一整天的时间来做同样的事情。。。期待任何建议,谢谢。

当然会有助于查看代码,或者了解实时URL,但接下来

我假设您已经准备好了执行重定向的代码,您只需要一个系统来知道何时重定向,何时不重定向

有几点建议:

  • 检查内容页中的推荐人,如果不是您的AJAX请求,则执行重定向(不确定您的AJAX代码是否会填充推荐人,如果没有,则如果有推荐人,则执行重定向,因为搜索引擎将始终有推荐人)
  • 调用ASP页时存储会话变量,并检查内容页中是否存在该变量,如果不存在,则执行重定向
  • 在调用ASP页面时存储Cookie,并检查其是否存在于内容页面中,如果不存在,则执行重定向
  • 将AJAX请求更改为表单POST而不是GET,如果没有POST,则在内容页中执行重定向
编辑: 我没有想到的一件事是,如果您使用我的任何建议,搜索引擎可能无法对这些页面进行爬网,因此我还建议您添加一个用户代理检查以允许爬网程序

看过你的代码后,我会在你的ASP非样式页面的顶部添加以下内容

strAgents = "Google|msnbot|Rambler|Yahoo|AbachoBOT|accoona|AcioRobot|ASPSeek|CocoCrawler|Dumbot|FAST-WebCrawler|GeonaBot|Gigabot|Lycos|MSRBOT|Scooter|AltaVista|IDBot|eStyle|Scrubby"
arrAgents = Split(strAgents, "|")
blnAgent = False
For i = 0 to UBound(arrAgents)
    If InStr(Request.ServerVariables("HTTP_USER_AGENT"), arrAgents(i)) <> 0 Then
        blnAgent = True
        Exit For
    End If
Next

If Not blnAgent Then
    If Request.ServerVariables("HTTP_REFERER") <> "http://www.uleth.ca/lib/archives/timeline/" Then
        Response.Redirect("http://www.uleth.ca/lib/archives/timeline/#19xx?zoom_highlight=19xx")
    End If
End If
strAgents=“Google | msnbot | Rambler | Yahoo | AbachoBOT | Accona | AcioRobot | Aspsseek | CocoCrawler | Dumbot | FAST WebCrawler | GeonaBot | Gigabot | Lycos | MSRBOT | Scooter | AltaVista | IDBot | eStyle | Scruby”
arrAgents=Split(strAgents,“|”)
blnAgent=False
对于i=0至UBound(排列体)
如果InStr(Request.ServerVariables(“HTTP\u USER\u AGENT”),arrAgents(i))为0,那么
blnAgent=True
退出
如果结束
下一个
如果不是blnAgent,那么
If Request.ServerVariables(“HTTP\u REFERER”)“http://www.uleth.ca/lib/archives/timeline/”“那么
响应。重定向(“http://www.uleth.ca/lib/archives/timeline/#19xx?zoom_highlight=19xx")
如果结束
如果结束

“我们希望能够将流量从内容页面重定向到调用它们的样式页面”。内容页面与“样式化”页面有何不同?你能详细说明一下你的网站是如何运作的吗?我猜“主页”是通过ajax获取内容并应用样式的?Styled=Unstyled=基于您提供的URL,我修改了我的答案。天哪,您是专业的。我真的只需要剪切和粘贴代码,它工作得非常好!非常感谢你!我欠你甜甜圈。