1

私たちの会社がasp.net Webフォームv1.1で開発されたWebサイトを持っているとします。過去5年間実行されています。人々はキーワードでグーグルを検索し、私たちのサイトへのリンクを取得しました...これは、グーグルが私たちのサイトのすべてのページをキャッシュしたことを意味します. 現在、当社はasp.net 4.0でサイトを開発することを計画しており、当社のCTOは、検索エンジンに適したasp.net 4.0ルーティング機能を使用したいと考えています。私は URL ルーティング機能の使用方法を認識しています....ここに URL ルーティングの小さなサンプル スニペットがあります。

ここに画像の説明を入力

新しいウェブサイトのページ名が変更されます。そのため、誰かがグーグルを検索してリンクを取得し、それらのリンクをクリックすると、リクエストは私たちのサイトに届きますが、ページ名が変更されるため、見つからないページが表示されます。そのため、古いリクエストが来たときにルーティングが正しいページにリダイレクトされ、次回ユーザーが正しいページの URL を取得した結果として、Google の永続的なリダイレクトを行うような方法でロジックを記述する方法。したがって、私の懸念は、古いページが存在しない場合にユーザーを右のページに移動させるロジックを作成する方法です。ユーザーはルーティングを使用して右のページにリダイレクトされます。コードとコンセプトについて教えてください。ありがとう

4

4 に答える 4

1

MVC 経由で行う場合は、常にこれらの古いルートを管理する必要があります。このシナリオでは、IIS を直接使用するのが最善の方法だと思います。IIS の url モジュールを使用すると、永続的なリダイレクトを非常に簡単に構成できます。

于 2012-06-13T11:36:11.687 に答える
1

HTTP 301 パーマネント リダイレクトを使用する必要があります

.NET Framework v4 の使用:

Response.RedirectPermanent("NewPage.aspx");

編集:私はそこに飛び込みすぎました...良いMVCソリューションは次のとおりです: http://www.eworldui.net/blog/post/2008/04/25/ASPNET-MVC-Legacy-Url-Routing.aspx

これにより、リクエストが適切な場所にリダイレクトされ、301 が返されます...

于 2012-06-13T11:08:50.233 に答える
0

このツールのハイブリッドを使用することをお勧めします。それは恒久的な動きなので、301を返す必要があります。グーグルはあなたの新しいサイトをスキャンし始めるときにそれを拾うべきです。

また、現在のサイトに干渉しないように、レガシーURLを分離しておく必要があることをお勧めします。将来のある時点で、おそらくこの新しいサイトがレガシーサイトになったときに、URLを整理する必要があります。アプリに何が必要か、SEOに何が必要かを知ることで役立つかもしれません。

おそらくIISとそのリダイレクトモジュールを使用してSEOリダイレクトを行うことができます。また、Google(およびBings)のウェブマスターツールもご覧ください。彼らはあなたがあなたのサイトで検索エンジンが見ているものを私たちが理解するのを助けるはずです。

于 2012-06-13T11:50:16.840 に答える
0

私は MVC の専門家ではなく、事実上初心者なので、私の頭に浮かぶ解決策は、次のような既存のページのすべてのルートを登録する必要があるということです。

routes.MapRoute(
            "BooksCategory", // Route name
            "products/books.aspx", // URL with parameters
            new { controller = "Products", action = "Browse", category = "Books" }
        );

必要に応じて拡張できます。

于 2012-06-13T11:09:18.920 に答える