0

IIS 7.5 で実行されている MVC4/.Net 4 Web サイトがあります。私の web.config ファイルには、ブロックに次のものがあります。

<urlMappings enabled="true">
 <add url="~/2013calendar" mappedUrl="~/CustomerService/RequestPocketCalendar" />
 <add url="~/teachers" mappedUrl="http://www.somexternalsite.com/teachers/" />
</urlMappings>

ローカル リダイレクトはすべて問題なく機能しますが、上記の例の /teachers リンクなど、サイト外にリダイレクトするものはすべて、"http://www.somexternalsite.com/teachers" を返しますが、有効な仮想パスではありません。

ここで何が欠けていますか?

4

2 に答える 2

0

最終的に、次のような外部リダイレクトを処理するページを作成しました。

リダイレクト.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/" />

よく働く!

于 2012-11-19T21:35:57.170 に答える
0

私が間違っていなければ、mappedUrl フィールドはアプリケーションのルートからの相対パスです。そのため、「http://www.somexternalsite.com/teachers/」は無効です。

これをリダイレクトするように構成したい場合は、ルートコントローラーで「Teachers」アクションを作成してから、次を使用します。

return Redirect("http://www.somexternalsite.com/teachers");
于 2012-11-19T20:46:11.223 に答える