host: http://www.wiki.com
目前实现的:
如果用户输入 http://www.wiki.com/Sandbox.ashx 就转到 http://www.wiki.com/Default.aspx?Page=Sandbox
待实现的:
如果用户输入 http://www.wiki.com/Help/Sandbox.ashx 就转到 http://www.wiki.com/Default.aspx?Page=Sandbox&Cate=Help

解决方案 »

  1.   

    第二楼不会。帮你顶顶。不是ULR重写吗/
      

  2.   

    试试这个
    <LookFor>(http://\\S*?\\/)(.*?)/(.*?)\\.ashx</LookFor>
    <SendTo>$1Default.aspx?Page=$3&Cate=$2</SendTo>
      

  3.   


    if(Request.Url.LocalPath.IndexOf("help")>1)
        Response.Redirect("http://www.wiki.com/Default.aspx?Page=Sandbox&Cate=Help");
    else
        Response.Redirect("http://www.wiki.com/Default.aspx?Page=Sandbox");
      

  4.   

    lz可以看看这个
    http://msdn2.microsoft.com/zh-cn/library/ms972974.aspx
      

  5.   

    URL重写
    配置相应正则就行了`~
      

  6.   

    你在Sandbox.ashx 里开始加上
    if(Request.Url.LocalPath.IndexOf("help")>1)
        Response.Redirect("http://www.wiki.com/Default.aspx?Page=Sandbox&Cate=Help");
    else
        Response.Redirect("http://www.wiki.com/Default.aspx?Page=Sandbox");
      

  7.   

    问题的关键是Default.aspx引用的资源(如:Images/logo.gif)就找不到了
    访问http://www.wiki.com/Help/Sandbox.ashx的时候把资源指向了Help/Images/logo.gif
      

  8.   

    刚看了下以前项目的代码 网页中全部用的带协议的url (http://website/img/pic.gif)
    要是用相对的 和lz问题一样
      

  9.   

    引用AjaxPro.2.dll [AjaxPro.AjaxMethod]
            public string SwapUrl(string im_url)
            {
                string url= "http://www.wiki.com/Default.aspx?Page=Sandbox&Cate=Help";            if (im_url == " http://www.wiki.com/Help/Sandbox.ashx" || im_url == " http://www.wiki.com/Help/Sandbox.ashx?" )
                {
                    urls = url;
                }
                return urls ;       
            }
      

  10.   

    直接Response转向这个地址就行了。
      

  11.   

    你写一个UrlRewrite的HttpModule就是了。
      

  12.   

    RewriteRule /Sandbox.ashx /Default.aspx?Page=Sandbox
      

  13.   

    写一个实现IHttpHandler接口的类,把ashx  类型的文件给此类先处理并做判断.如果符合件就用RewritePath重写一下URL.
      

  14.   


     <rewriter>
        <rewrite url="http://\S*?/\S*?/\S*?.ashx" to="$1Default.aspx?Page=$3&Cate=$2" />
      </rewriter>
      

  15.   

    URL重写
    Context.RewritePath不光是资源(如图片)找不到,
    有种情况甚至会被asp.net认为是两个不同的应用程序
    资源的问题好解决,全部使用绝对路径就OK了
    不同的应用程序,
    怎么解决?
    难道要重新建立一个/bin,把dll拷过去???
      

  16.   


    <LookFor>http://www.wiki.com/(.*?)/(.*?)\\.ashx</LookFor>
    <SendTo>http://www.wiki.com/Default.aspx?Page=$2&Cate=$1</SendTo>
      

  17.   


    <LookFor>~/(.*?)/(.*?)\\.ashx</LookFor>
    <SendTo>~/1Default.aspx?Page=$3&amp;Cate=$2</SendTo>或者<LookFor>~/(.*?)/(.*?)\\.ashx</LookFor>
    <SendTo><![CDATA[~/1Default.aspx?Page=$3&Cate=$2]]</SendTo>
      

  18.   

    写错,应该是<LookFor>~/(.*?)/(.*?)\\.ashx</LookFor>
    <SendTo>~/1Default.aspx?Page=$2&amp;Cate=$1</SendTo>或者<LookFor>~/(.*?)/(.*?)\\.ashx</LookFor>
    <SendTo><![CDATA[~/1Default.aspx?Page=$2&Cate=$1]]</SendTo>
      

  19.   

    我就知道使用url重写,至于怎么写就不清楚了
      

  20.   

    http://msdn2.microsoft.com/zh-cn/library/ms972974.aspx
    写的很清楚了
    而且还有代码例子,可以下下来看看
      

  21.   

    http://msdn2.microsoft.com/zh-cn/library/ms972974.aspx
    写的很清楚了
    而且还有代码例子,可以下下来看看
      

  22.   

    URL REWRITE
    有2种方式实现
    程序方法上面已经有高手给出
    还有一种方法在IIS上面安装REWRITE工具,在上面填写规则就可以.
    这个方法的好处在于不用编写代码就可以实现了.如果确有需求的话,请联系.