Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.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重写_C#_Asp.net_Url Rewriting - Fatal编程技术网

C# 使用URL重写

C# 使用URL重写,c#,asp.net,url-rewriting,C#,Asp.net,Url Rewriting,我在一个托管服务器下托管2个域站点 \ -Site1 -Site2 我有两个指向托管服务器的域 e、 g site1.com应指向site1文件夹 site2.com应指向site2文件夹 目前在根目录下,我有一个默认文件,该文件将检查Request.ServerVariables(“ServerName”)是否为site1.com,然后重定向到(/site1) 所以它显示了site1.com/site1/和site2.com/site2/ 如何删除子文件夹?所以它显示了site1.c

我在一个托管服务器下托管2个域站点

\

 -Site1

 -Site2
我有两个指向托管服务器的域

e、 g

site1.com
应指向
site1
文件夹
site2.com
应指向
site2
文件夹

目前在根目录下,我有一个默认文件,该文件将检查Request.ServerVariables(“ServerName”)是否为site1.com,然后重定向到(/site1)

所以它显示了
site1.com/site1/
site2.com/site2/

如何删除子文件夹?所以它显示了
site1.com
site2.com


我已经考虑过使用URL重写,但我不能把代码放在一起。。。。。我相信每个子文件夹都应该有一个
global.asax
文件,在
应用程序中\u BeginRequest
我想我应该做点什么。

您可以使用Server.Transfer

代码:


在浏览器输入site1.com

中,您不能将其作为应用程序根目录而不是父目录从
../site1/
托管吗?这是IIS配置的一个问题,而不是url重写。我之所以这样做,是因为我不想为每个站点购买托管服务器,它们是只需要1台主机服务器的小型站点。。托管服务器指向根文件夹
void appliaction_BeginRequest(object sender, EventArgs e)
 {
    HttpRequest request = sender as HttpRequest;
     if(request.Url.Host.Contains("site1.com"))
     {
        request.RequestContext.HttpContext.Server.Transfer("site1.com/site1", true);
    }

  }