Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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
Asp.net mvc ASP.NET MVC托管在DiscountAsp.NET并使用域指针_Asp.net Mvc_Url Routing - Fatal编程技术网

Asp.net mvc ASP.NET MVC托管在DiscountAsp.NET并使用域指针

Asp.net mvc ASP.NET MVC托管在DiscountAsp.NET并使用域指针,asp.net-mvc,url-routing,Asp.net Mvc,Url Routing,我在DiscountASP.NET上托管了一个网站,他们可以选择使用同一托管帐户为单独的域添加域指针。因此,如果原始站点是abc.com,您可以购买一个指向xyz.com的域指针,并且两者最初都指向相同的根位置。使用abc.com的根目录是可以的,但是当xyz.com是地址时,我想重新路由到包含xyz.com代码的单独子目录。我将在何处尝试重定向xyz.com以引用子目录的代码,而不是使用根目录?我认为用Global.asax来处理它已经太晚了,因为我希望每个站点的Global.asax文件能够

我在DiscountASP.NET上托管了一个网站,他们可以选择使用同一托管帐户为单独的域添加域指针。因此,如果原始站点是abc.com,您可以购买一个指向xyz.com的域指针,并且两者最初都指向相同的根位置。使用abc.com的根目录是可以的,但是当xyz.com是地址时,我想重新路由到包含xyz.com代码的单独子目录。我将在何处尝试重定向xyz.com以引用子目录的代码,而不是使用根目录?我认为用Global.asax来处理它已经太晚了,因为我希望每个站点的Global.asax文件能够独立地处理它们各自的站点

经典ASP.Net论坛上的一篇文章讨论了在默认文档中添加如下代码

如果InStr(UCase(Request.ServerVariables(“SERVER_NAME”))、UCase(subdomain1.YourHostedDomainName.com”)>0,那么 Response.Redirect(“/subdomain1”) ElseIf InStr(UCase(Request.ServerVariables(“SERVER_NAME”)),UCase(“subdomain2.yourhestedomainame.com”)>0然后 Response.Redirect(“/subdomain2”) ElseIf InStr(UCase(Request.ServerVariables(“SERVER_NAME”)),UCase(“subdomain3.yourhestedomainame.com”)>0然后 Response.Redirect(“/subdomain3/home.asp”) 如果结束


ASP.NET MVC是我的第一个web项目,据我所知,所有路由流都是通过registerOutes()和route集合进行的,该集合在Global.asax中设置为。有什么想法吗?

MVC中的路由管理器将URL映射到控制器。控制器是代码,位置并不重要。我不知道使用路由进行重定向的方法,这正是您所寻找的。DiscountASP.Net应该有一种方法可以将你的新域指向另一个文件夹,我会检查你的控制面板以找到一种方法

如果您使用的是IIS 7,则可能会使用主机头为您执行定向。在这种情况下(IIS 7或非IIS 7),您应该知道您可能正在网站中运行网站。如果你的根站点不是asp.net,事情可能会变得更简单,但是,如果你的根(abc.com)是asp.net站点(从你的问题来看似乎不是这样,但这是很好的信息,所以我会告诉你),那么web.configs将是附加的

- root
|
|- xyz.com
 |
 |- web.config (xyz.com)
|
|- web.config (abc.com)

请注意,将首先应用abc.com的web.config,然后应用xyz.com,它们可能会发生冲突并产生恼人的问题。但是,您应该首先在控制面板中检查,以找到将新域指向其他文件夹的方法。使用共享主机帐户运行多个网站可能会带来很多麻烦,因此祝您好运。

MVC中的路由管理器将URL映射到控制器。控制器是代码,位置并不重要。我不知道使用路由进行重定向的方法,这正是您所寻找的。DiscountASP.Net应该有一种方法可以将你的新域指向另一个文件夹,我会检查你的控制面板以找到一种方法

如果您使用的是IIS 7,则可能会使用主机头为您执行定向。在这种情况下(IIS 7或非IIS 7),您应该知道您可能正在网站中运行网站。如果你的根站点不是asp.net,事情可能会变得更简单,但是,如果你的根(abc.com)是asp.net站点(从你的问题来看似乎不是这样,但这是很好的信息,所以我会告诉你),那么web.configs将是附加的

- root
|
|- xyz.com
 |
 |- web.config (xyz.com)
|
|- web.config (abc.com)

请注意,将首先应用abc.com的web.config,然后应用xyz.com,它们可能会发生冲突并产生恼人的问题。但是,您应该首先在控制面板中检查,以找到将新域指向其他文件夹的方法。使用共享主机帐户运行多个网站可能会带来很多麻烦,因此祝您好运。

您似乎在尝试运行两个独立的网站,其中一个位于子域上


我不使用DiscountAsp.Net,但它们应该允许您建立一个单独的网站,为您的子域提供服务;联系他们的支持。

您似乎试图运行两个独立的网站,其中一个位于子域上


我不使用DiscountAsp.Net,但它们应该允许您建立一个单独的网站,为您的子域提供服务;请与他们的支持人员联系。

您需要将该子文件夹设置为一个单独的
应用程序
(在DiscountAsp.net的控制面板中)

然后,尝试编写一个调用
响应的
HttpModule
。Redirect
将浏览器重定向到根域上的子文件夹

如果你想让你的用户留在子域上,我认为这是不可能的。我从未使用过ASP.Net MVC,但我假设路由是根据-
AppDomain
注册的,这意味着每个子域的文件夹必须是它自己的
应用程序。无法(AFAIK)跨
AppDomain
s(
Server.transfer
无法执行)传输执行


如果我错了,并且可以在不单独创建
应用程序的情况下执行此操作,请创建一个调用
服务器的
HttpModule
。根据来自子域的请求传输
(并确保链接相对于表示子域的文件夹;~路径无效)

您需要使子文件夹成为一个单独的
应用程序
(在DiscountAsp.net的控制面板中)

然后,尝试编写一个调用
响应的
HttpModule
。Redirect
将浏览器重定向到根域上的子文件夹

如果你想让你的用户留在子域上,我认为这是不可能的。我从未使用过ASP.Net MVC,但我假设路由是根据-
AppDomain
注册的,这意味着每个子域的文件夹必须是它自己的
应用程序。