はちょうど私が代わりにIISの、アプリケーションレベルでこれを行うことにしました、私は再投稿します
別のスレッドでこれに答え、しかし。ここでは、これを行うために書いたクイックアクションフィルターです。プロジェクトのどこかにクラスを追加して、[RequiresWwww]を1つのアクションまたはコントローラ全体に追加できます。
public class RequiresWww : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpRequestBase req = filterContext.HttpContext.Request;
HttpResponseBase res = filterContext.HttpContext.Response;
//IsLocal and IsLoopback i'm not too sure on the differences here, but I have both to eliminate local dev conditions.
if (!req.IsLocal && !req.Url.Host.StartsWith("www") && !req.Url.IsLoopback)
{
var builder = new UriBuilder(req.Url)
{
Host = "www." + req.Url.Host
};
res.Redirect(builder.Uri.ToString());
}
base.OnActionExecuting(filterContext);
}
}
その後
[RequiresWwww]
public ActionResult AGreatAction()
{
...
}
または
[RequiresWwww]
public class HomeController : BaseAppController
{
..
..
}
誰かに役立ちます願っています。乾杯!
これはIISの質問の多くです。あなたは、IISの注意を引くためにタグを追加する必要があります –
なぜそれをしたいですか? – SLaks
私は答えとしてファイルしません。これはあなたのdevスタックを変更する必要があるためです。しかし、ここで私はApacheを使って私のブログで同じ問題を解決した:http://pastie.org/630298。唯一の違いは、私はwwwの代わりにブログを追加しているということです。私の場合、同じサーバーが両方のドメイン名に答えていることにも注意してください。 –