isapi 隐式的重定向问题使用isapi 过滤器来实现重定向时,在OnUrlMap中添加代码实现(代码如下)。但是这样的效果地址拦的地址是重定向后的地址
如果要实现 隐式的重定向,就是网页内容已经重定向,但是地址栏地址不变,这个该怎么实现呢.求示例.如果说的不清楚,那么举个例子, 打开  http://localhost/aa.asp 要重定向到 http://localhost/bb.asp 
下面的代码实现时地址栏显示的是http://localhost/bb.asp ,但是我希望内容是bb.asp,但是地址栏仍旧显示的是aa.asp
貌似把(LPVOID) "302 Redirect",改成(LPVOID) "200 OK"并不能达到目的.....求助DWORD CIsaFilterFilter::OnUrlMap(CHttpFilterContext* pCtxt,
PHTTP_FILTER_URL_MAP pMapInfo)
{
// TODO: React to this notification accordingly and
// return the appropriate status code
if (strstr (pMapInfo->pszURL, "DoRedirect"))
   {
      CHAR szRedirect [256];
      // replace www.microsoft.com with desired server
      sprintf(szRedirect, "Location: http://%s\r\n\r\n", "www.microsoft.com");
      pCtxt->ServerSupportFunction ( SF_REQ_SEND_RESPONSE_HEADER, 
            (LPVOID) "302 Redirect", 
            (DWORD *) szRedirect, 
            0 );
      // Print a message to the debug window
      ISAPITRACE1 ("Redirecting to: %s\n", szRedirect);
      // we are done with this request
      return SF_STATUS_REQ_FINISHED_KEEP_CONN;
   }
   // URL did not contain a DoRedirect string.
   return SF_STATUS_REQ_NEXT_NOTIFICATION;}

解决方案 »

  1.   

    使用框架frame或者iframe,重定向的页面输出到子框架即可,跟isapi过滤器无关
      

  2.   

    额  反向代理的代码怎么写呢  3楼不要提出与过滤器无关的解决方案啦,我这里就需要isapi的解决办法 呵呵
      

  3.   

    ………………
    无语。我倒是想看看服务器端的isapi如何解决浏览器的地址栏的,等待……
      

  4.   

    汗,我没有写过这样的代码.其工作原理与通常的http proxy一样,只是方向相反.有一个商品化的工具:
    http://blog.sina.com.cn/s/blog_555f48f9010006us.html
    你先参考试试.
      

  5.   

    4楼你试下  ISAPI_Rewrite3  这个软件 它就是这样的
    谢谢5楼我原本用的就是这个。  的确它已经实现的很好了,问题它代码怎么处理的不知道额。
      

  6.   

    isapi_rewrite我不知道代码如何实现,但原理并不是URL的重定向,而是iis内部的重定向,修改了URL后转交给其它filter正常处理,对于浏览器或者网络传输来说根本就没发生重定向。