我将MVC4应用程序部署到WebForms(.NET 4.0)网站。
除了每个Html.ActionLink(...)
生成错误的href="#####"
链接属性外,其他所有内容似乎都很有效。
的问题:
不会生成正确的网址(http://child.com/
),而是生成错误的网址:http://child.com/child/
我使用以下 .htaccess 将用户从“domainRoot.com”“重定向”到域“domainChild.com:”
#
RewriteEngine On
RewriteCond %{HTTP_HOST} salonconnectiondanapoint\.com [NC]
RewriteCond %{REQUEST_URI} !salonconnection/ [NC]
RewriteRule (.*) /salonconnection/$1 [L,P]
#
文件夹结构类似于以下内容:
我没有修改Route.config
中的默认路由。
另外,我已经阅读了这篇描述类似情况的stackoverflow question/answer,但它并没有为我提供足够的解决方法。
如果您需要查看任何代码段或有问题我可以回答,请告诉我(在评论中),以便更好地帮助我们解决这个问题,谢谢。
domainChild .com =域名
domainChild =包含第二个项目的文件夹
应用程序需要从包含文件夹名称(domainChild
)开始,我试图通过在主机的控制面板中设置IIS“应用程序启动”来执行此操作(我已经处理了他们的支持和他们将我推荐给StackOverflow.com ... :/ ...来修复此重定向/网址问题)然后添加了.htaccess
。 .htaccess
尝试似乎没有用,所以我一直试图抛出任何东西(见下面的更新)。
更新
我还尝试通过一起删除.htaccess
文件来完成重定向,并在父WebForms网站根域文件夹的PageLoad
事件中使用以下多种变体(在MVC项目中)嵌套):
//string sname = Request.ServerVariables["SERVER_NAME"].ToString().ToUpper();
string sname = Request.ServerVariables["HTTP_HOST"].ToString().ToLower();
if (sname.Contains("domainchild"))
{
Server.TransferRequest("~/domainChild/");
//Response.Redirect("~/domainChild/");
return;
}
else
{
Response.Redirect("Default.aspx");
return;
}
然而同样的事情发生了...用户被重定向到的url
包含domainName /包含文件夹名称(例如,http://domainChild.com/domainChild
)。
此更改还将“Default.aspx
”附加到URL
的末尾,它是MVC!
包含的文件夹名称(domainChild
)无法像这样注入URL
。必须有一种方法可以在包含文件夹名称启动应用程序,将文件夹“domainChild
”的名称替换为“domainChild.com
”
我迷路了,请帮帮忙。