2012-02-02 6 views
0

私はVS2010でC#で書かれた解決策を持っています。私のブラウザにhttp://www.mywebsite.comと入力すると、自分のウェブサイトを正常に表示することができます。私のブラウザにhttp://mywebsite.comと入力すると、ウェブサイトを表示できますが、CSSの問題がいくつかあります。私のコードでは、私のウェブサイトが「http://www.mywebsite.com」と認識される設定ファイルがいくつかあるからです。それは物語です。http://mywebsite.comをhttp://www.mywebsite.comにリダイレクト

私の質問はです。ユーザーがhttp://mywebsite.comと入力した場合、http://www.mywebsite.comにリダイレクトする方法はありますか?例えば

あなたがhttp://google.comを入力すると、それが自動的にhttp://www.google.com

おかげにリダイレクトされます。

+1

が重複する可能性が[7カノニカルURLリダイレクトをIIS](http://stackoverflow.com/questions/5857118/iis-7-canonical-url-redirect) –

答えて

0

は、web.configファイルにこれを追加します。コードビハインドで

<rewrite> 
<rules> 
    <rule name="Redirect mywebsite.com to www" patternSyntax="Wildcard" stopProcessing="true"> 
     <match url="*" /> 
     <conditions> 
      <add input="{HTTP_HOST}" pattern="mywebsite.com" /> 
     </conditions> 
     <action type="Redirect" url="http://www.mywebsite.com/{R:0}" /> 
    </rule> 
</rules> 
</rewrite> 

を、あなたはまた、のような何か(テストしていません)

if(!Request.Url.Host.StartsWith("www")) 
    Response.Redirect("http://www.mysite.com/" + Request.Url.LocalPath); 

を使用することができますが、それは持っているでしょうMasterPage上のすべてのページにあるか(もしあれば)、またはGlobal.asaxで若干変更されている場合

+0

それは動作しますが、よろしくお願いします。しかし、web.configの書き直しワードに警告が表示されます。「要素 'system.webserver'に無効な子要素 'rewrite'があります。この警告を避けるために何かする必要がありますか? – Bronzato

+0

特定の設定セクションがシステムで認識されていません。エラーメッセージについては、http://stackoverflow.com/questions/5309059/the-element-system-webserver-has-invalid-child-element-rewriteまたはgoogleをチェックしてください。正しいタグは、.NETのバージョン(4つは違うと思います)および/またはIISのバージョンによって異なります。 – Olaf

0

チェックアウトIIRF:一度サーバーにインストール

http://iirf.codeplex.com/

は、以下の内容でIirf.iniと呼ばれるiniファイルを作成:

RewriteEngine ON 
StatusInquiry ON RemoteOk 
RewriteCond %{HTTP_HOST} ^mywebsite.com [I] 
RedirectRule ^/(.*)$ http://www.mywebsite.com/$1 [R=301] 

コピーし、EG Webフォルダルートにファイルを貼り付け:httpdocs

これは作業を行います。

関連する問題