2012-02-13 27 views
1

IIS7とurlMappingsを使用して、いくつかのURLを実際のページにマッピングしています。IIS urlMappingsリダイレクトとSEO

例:URLの末尾 '/' を持っている場合

<urlMappings> 
     <!-- Remap friendly urls to actual pages: --> 
     <add url="~/help/" mappedUrl="~/content/help/help.aspx" /> 
     <add url="~/news/" mappedUrl="~/content/news/default.aspx" /> 
    </urlMappings> 

これは、素晴らしい作品例:

http://www.mysite.com/news/

しかし、私はこれを行う場合、私はページが見つからないというエラーが出ます:

http://www.mysite.com/news

I両方のページが同じページにマップされるように、末尾に '/'を付けないで余分なエントリを追加することができますが、私はSEOのためにこれをしたくありません(重複コンテンツだと思うでしょう)。

リダイレクトするurlマッピングを取得することはできますか?例えば

、このような何か:

 <add url="~/help" redirect="~/help/" /> 

ない場合は、何がこれを行うための最善の方法だろうか?

は、Googleが本当に重複として

http://www.mysite.com/news/

http://www.mysite.com/news

を罰するだろうと思いますか?ここで

答えて

0

は周りの私の仕事です:

私はweb.configファイル

<urlMappings> 
    <!-- Remap friendly urls to actual pages: --> 
    <add url="~/help/" mappedUrl="~/content/help/help.aspx" /> 
    <add url="~/help" mappedUrl="~/content/help/help.aspx" /> 
</urlMappings> 

でurlMappingsに、とし、「/」を付けずに、両方のエントリを追加します次に、ページ自体に次のコードを追加しますPage_Loadで:

Dim mappedUrl as string = "/help" 
    If Request.RawUrl.EndsWith(mappedUrl) Then 
     Response.RedirectPermanent(String.Format("~{0}/", mappedUrl)) 
    End If 

これは恒久的にリダイレクトされますと

「/」末尾と同じページに続く「/」なしマッピングされたページへの呼び出し