4

私は iis7 の URL 書き換えモジュールを使用して、いくつかのことを達成しています。

  • 非 www から www への 301 リダイレクト ルール
  • 301 はルール .info を .com にリダイレクトします (私のドメインの .com バージョンに移動しました)
  • 301 はルールを古いページ (例: /page-name.asp) から単に /page-name にリダイレクトします。

最初の 2 つを 1 つのルールにまとめることができました。3 番目の項目は独自のルールです。問題は、次のような URL をリクエストした場合に 2 つの 301 リダイレクトが生成されることです。

site.info/ページ名.asp/

まず、次の目的で 301 が実行されます。

www.site.com/page-name.asp (例: www が追加され、.info が .com に移動します)

次に、2 番目の 301 がそこから実行されます。

www.site.com/ページ名

私の質問は、これらを組み合わせて、301 リダイレクトが 2 回ではなく 1 回だけ発生するようにするにはどうすればよいですか? 現在 web.config にある 2 つのルールは次のとおりです。

<rule name="SEO - 301 Redirect - .info to .com AND force WWW" stopProcessing="false">
    <match url="(.*)" ignoreCase="true" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{HTTP_HOST}" pattern="^site\.info$" />
    </conditions>
    <action type="Redirect" url="{ToLower:http://www.site.com/{R:1}}" redirectType="Permanent" />
</rule>
<rule name=".aspVersion-to-friendlyvia301" stopProcessing="false">
        <match url="(.*).asp" />
        <action type="Redirect" url="{R:1}" />
</rule>
4

2 に答える 2

7

私は自分の質問に対する答えを見つけたようです。これは少しハックですが、必要なすべてのURL変換を実行します(たとえば、末尾のスラッシュの削除、www以外からwww、toLowerCase、ディレクトリのデフォルトドキュメントの削除、ページ名の変更などの必要なその他のリダイレクト)。

私が話していた問題は、実際には「301リダイレクトのチェーン」と呼ばれ、解決策はここにかなりエレガントに示されています。

http://www.seomoz.org/blog/what-every-seo-should-know-about-iis#chaining

于 2012-10-17T20:17:41.017 に答える