2016-04-27 11 views

答えて

3

にリダイレクトする必要があり、あなたの.NETコードのすべてを維持したい場合は、httpRequestBeginパイプラインにカスタムプロセッサを追加することができます。

でも、書き換えモジュールは、必要なものを実現する最も一般的な方法の1つです。

+0

IISサーバーで、sitecoreを使用しています。だから上記の解決策は私のために働いていない –

+0

うん。正規表現のリダイレクトルールを持つIIS URLリライトモジュール。[ルールの追加]ダイアログボックスで、[Canonical domain name]というラベルが付けられています。 –

1

できるだけ早くやりたいことです。アプリケーションレベルでは、不必要にリソースを使用します。 IISを試してみてください。

0
if (!Request.Url.Host.StartsWith("www") && !Request.Url.IsLoopback) 
{ 
    var builder = new UriBuilder(Request.Url) { Host = "www." + Request.Url.Host }; 
    Response.StatusCode = 301; 
    Response.AddHeader("Location", builder.ToString()); 
    Response.End(); 
} 
+1

私はこのようなものをハードコードしません。サブドメインを導入しても維持するのは難しいでしょう –

0

それを行うための適切な方法は、Site definition configパッチファイルにtargethostnameを設定することです - あなたはサイトコアのシングルサイトインスタンスを持っている場合は、あなただけのweb.configファイルでそれを行うかもしれません。

これを行うには、hostname = "example.com | www.example.com"を設定し、次にtargethostname = "www.example.com"を設定します。

関連する問題