Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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# ASP.NET应用程序中的URL重写_C#_Asp.net_Url_Rewrite - Fatal编程技术网

C# ASP.NET应用程序中的URL重写

C# ASP.NET应用程序中的URL重写,c#,asp.net,url,rewrite,C#,Asp.net,Url,Rewrite,如何在c#.net或asp.net 4.0中基于注册客户端重定向url。例如,如果客户注册为“client1”,并且我们的网站是www.mycompany.com,那么客户获得的每一页都应该是www.client1.mycompany.com 更详细的示例: 例如,创建的另一个客户端是Client2。我创建的页面大体上如下所示 "www.mycompany.com/product.aspx" "www.mycompany.com/categories.aspx" should be sho

如何在c#.net或asp.net 4.0中基于注册客户端重定向url。例如,如果客户注册为“client1”,并且我们的网站是www.mycompany.com,那么客户获得的每一页都应该是www.client1.mycompany.com

更详细的示例:

例如,创建的另一个客户端是Client2。我创建的页面大体上如下所示

 "www.mycompany.com/product.aspx" 
 "www.mycompany.com/categories.aspx" should be shown as
 "www.client2.mycompany.com/product.aspx" and
 "www.client2.mycompany.com/categories.aspx" respectively

我在web上搜索过静态页面或在应用程序启动期间使用Gloabal.asax,但在用户登录后没有发现任何东西。

我以前在一些网站上做过类似的事情,您可以使用几种方法。假设您有一个url设置,以便所有子域(*.url.com)将任何用户发送到您的服务器,并且您有IIS设置来处理同一站点中的所有用户(即不需要主机头,只需要IP),您可以使用以下方法之一:

  • 登录后,只需将用户发送到该url。因为.Net不关心url,服务器知道如何呈现它,所以应该这么简单。这假设您的所有导航都使用相对路径,并且您必须为该域启用cookie共享。如果登录的cookie是在1.url.com上提供的,并且您将其发送到2.url.com,则这是必需的。您可以在同一域中共享cookie,这需要一些工作,但可以完成
  • 创建一个通用登录页面,该页面向服务器发出web服务请求,以查看用户是否可以登录。如果他或她可以让它发送回浏览器一个命令,连同正确的url,告诉客户端浏览器直接发布到该站点登录页面(发送用户名、密码)。这将使他们登录到他们的站点并正确分配cookies,所有这些都来自一个简单的登录页面。您甚至可以创建一个仅用于此目的的外部登录页面。最后,通用页面所做的只是查看他们是否可以登录,并将他们的凭据发送到进行登录的正确页面。出于安全原因,我建议在使用ssl的帖子中执行此操作
    我希望这样做是因为。

    我使用了一个名为UrlRewritingNet的项目-它非常旧,但源代码可用,因此您可以将其重新编译为4.0


    链接位于

    我可以使用,但我不想为每个客户端创建单独的页面。这仅仅是为了标识和让他们对自己的域有感觉而更改url。我们曾经实现过一个类似的系统,通过url重写可以做到这一点。然而,我们最终选择了静态文件路径,使用一个发布脚本,在每个构建中构建所有独立的客户端文件夹,这仅仅是因为它添加了一层隔离,因此开发人员不可能一次意外地破坏所有客户端环境。我推荐同样的东西。重复你自己的问题: