Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在没有URL路由或URL重写的情况下转换ASP.NET URL?_C#_Asp.net_Url Rewriting_Url Routing_Friendly Url - Fatal编程技术网

C# 如何在没有URL路由或URL重写的情况下转换ASP.NET URL?

C# 如何在没有URL路由或URL重写的情况下转换ASP.NET URL?,c#,asp.net,url-rewriting,url-routing,friendly-url,C#,Asp.net,Url Rewriting,Url Routing,Friendly Url,我在IIS6上使用ASP.NET 2.0,因此无法使用system.web.routing。我试过几个URL重写器,但都没有达到我的目的 我基本上需要用最少的IIS配置将URL1转换为2(读取/解析然后重定向),因为我没有重新配置web服务器的完全权限(即IIS6上的ISAP或安装第三方扩展/库)。我无法将URL转换为3,因为所有物理链接都将中断 谢谢大家! 我建议您考虑在UrlRewriter.net中使用自定义转换。详细说明如何使用Intelligencia.UrlRewriter程序

我在IIS6上使用ASP.NET 2.0,因此无法使用system.web.routing。我试过几个URL重写器,但都没有达到我的目的

我基本上需要用最少的IIS配置将URL1转换为2(读取/解析然后重定向),因为我没有重新配置web服务器的完全权限(即IIS6上的ISAP或安装第三方扩展/库)。我无法将URL转换为3,因为所有物理链接都将中断


  • 谢谢大家!

    我建议您考虑在UrlRewriter.net中使用自定义转换。详细说明如何使用
    Intelligencia.UrlRewriter
    程序集(大约是页面下方的3/4)执行此操作。希望它足够好,可以满足你的需要

    protected void Page_Load(object sender, EventArgs e)
    {
        HtmlLink canonicalTag = new HtmlLink();
        canonicalTag.Href = "http://www.url.com/default.aspx";
        canonicalTag.Attributes["rel"] = "canonical";
        Page.Header.Controls.Add(canonicalTag);
    }
    

    创建404错误处理程序,例如404.aspx。在该页面中,解析请求URL并使用
    request.Path
    提取代码。然后,重定向到default.aspx?code=abc123


    您应该能够为您的网站将404(找不到页面)处理程序设置为404.aspx,大多数托管提供商都允许这样做。

    我认为URL重写不起作用,因为我不想重写URL,我只需要读取/解析URL,然后重定向。我将在应用程序错误(global.asax)中手动执行解析和重定向因为我无法删除aspxerrorpath查询字符串,因为我无法在抛出aspxerrorpath之前捕获/abc123的值,因为Request.Path始终是404错误页面的URL。请确保在IIS中而不是在web.config中设置404处理程序。您建议将Application\u error(global.asax)设置为404吗?因为我对web服务器没有太多的控制权,而且我们有不止一台web服务器,所以我更喜欢“软”方式。对于任何IIS设置更改,都需要数周的时间才能获得批准…如果您收到无扩展名URL的应用程序错误事件,如
    http://www.url.com/abc123
    请务必使用它。否则,您需要将IIS配置为使用404处理程序。我已将我的开发人员IIS配置为将404转发到我的404页面,但请求。Url和请求。显示404页面和请求。URLreferer路径的路径均为空。