我在IIS 7.5上运行了一个MVC4 / .Net 4网站。在我的web.config文件中,我的块中有以下内容:
<urlMappings enabled="true">
<add url="~/2013calendar" mappedUrl="~/CustomerService/RequestPocketCalendar" />
<add url="~/teachers" mappedUrl="http://www.somexternalsite.com/teachers/" />
</urlMappings>
本地重定向所有工作都很棒,但是从网站重定向的任何内容,例如上例中的/ teachers链接都会返回&#34; http://www.somexternalsite.com/teachers"不是有效的虚拟路径。
我在这里缺少什么?
答案 0 :(得分:0)
如果我没弄错的话,mappedUrl字段是相对于应用程序根目录的路径。因此,“http://www.somexternalsite.com/teachers/”无效。
如果您要将其配置为重定向,我只需在根控制器中创建“教师”操作,然后使用以下内容:
return Redirect("http://www.somexternalsite.com/teachers");
答案 1 :(得分:0)
我最终创建了一个页面来处理外部重定向,如下所示:
redirect.aspx
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(object sender, EventArgs e)
{
var page = Request.QueryString["page"];
Response.Redirect("http://"+page);
}
</script>
所以在我的web.config中我引用了外部文件:
<add url="~/teachers" mappedUrl="~/redirect.aspx?page=www.somexternalsite.com/teachers/" />
效果很好!