web-dev-qa-db-ja.com

wwwをアドレスバーに常に表示するように強制しますか?

クライアント用のウェブサイトを作成しました(私の最初のフリーランスの仕事です!)私のクライアントは一般的に満足していますが、入力されなくてもアドレスバーにwww。の部分を常に表示したい。

これは可能ですか? 123-regでドメインを購入し、AzureでWebサイトをホストしています(Azure Webサイトとして)。 DNS設定にAレコードを追加する必要があると思いますが、これは正しいでしょうか?それとも、Azureで変更する必要がある設定ですか?またはweb.configファイルに何かありますか?

このサイトはASP.Net MVC4で作成されています。

ありがとう

1
JMK

MCV4でwww以外にwwwをリダイレクト

global.asaxを編集して追加:

protected void Application_BeginRequest (object sender, EventArgs e)
{
   if (!Request.Url.Host.StartsWith ("www") && !Request.Url.IsLoopback)
   {
      UriBuilder builder = new UriBuilder (Request.Url);
      builder.Host = "www." + Request.Url.Host;
      Response.StatusCode = 301;
      Response.AddHeader ("Location", builder.ToString ());
      Response.End ();
   }
}
2
Simon Hayter

Apacheの構成を変更できない場合は、 http://wwwizer.com (ページの上部)でNAKEDドメインをWWWizerのIPアドレスにポイントし、WWWサブドメインをサーバ。これにより、すべての要求がWWWサブドメインにリダイレクトされます。

1
ionFish

はい、wwwなしでURLをリダイレクトしてから、それらを含めることができます。その方法はホストによって異なります。一部のホストにはこのオプションがあり、ボタンを押すだけで実行できます。

ほとんどのホストは、Apacheサーバー上の同じディレクトリからwwwサイトとno-wwwサイトの両方を提供します。この場合、それを行うには書き換えルールを使用する必要があります。

RewriteEngine On
RewriteCond %{HTTP_Host} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_Host}/$1 [R=301,L]
0