2

ASP.NET 4.0 Web フォーム アプリケーション (IIS 7) を使用しており、URL ルーティングを使用してフレンドリ URL を許可しています。たとえば、 の代わりにBlog.aspx?title=the-blog-titleを許可しBlog/the-blog-titleます。

私の質問は、ユーザーが Blog.aspx に直接アクセスできないようにするにはどうすればよいですか? web.config に次の設定を含めました。

<httpHandlers>
  <add verb="*" path="*.aspx" type="System.Web.HttpForbiddenHandler" />
</httpHandlers>

これは機能しますが、「このタイプのページは提供されていません」というエラーが表示されます。IIS または web.config を使用して、すべての .aspx ページ要求に対して単純に 404 エラーを表示することは可能ですか? (これをプログラムで行う方法は知っていますが、可能であれば構成ファイルを使用したいと思います。)

4

2 に答える 2

3

URL 書き換えを使用して、問題のあるアドレスを好みのものに変更します。この2 つのアイデアの違いを説明する記事を次に示します。

URL 書き換えの SEO の側面

URL 書き換えは SEO を薄めません。実際、これはURLを書き換えることによって正規の URL を確立する方法です。検索エンジンは、リクエストに使用された URL ではなく、書き換えられた URL のみを認識します。

たとえば、次の URL がすべてあなたのホームページを指しているとします。

次に、URL を書き換えて、上記の URL のいずれかをリクエストした人に URL が提供されるようにしますhttp://www.example.com/。この URL は、ページが最初にどのようにアクセスされたかに関係なく、検索エンジンによって表示される唯一の URL です。

書き換えの仕組み

URL を要求すると、それが であろうと であろうとexample.com/blog.aspxexample.com/blog要求は Web サーバーに送信されます。そこでは、URL 書き換えエンジンが要求ヘッダー内の URL を評価します。URL がいずれかの書き換えルールに一致する場合 (たとえば、.aspx拡張子を削除する場合)、Web サーバー301 Permanently Movedは応答ヘッダーに新しい URL を含む応答コードを発行します。

応答を受信した後、ブラウザーは新しい URL を要求します。検索エンジン ボットgooglebotは、永続的なリダイレクト コードを見て、そのリンクのインデックスを要求された URL に変更します。したがって、インデックスが作成されている場合example.com/blog.aspx、または誰かがそれにリンクしている場合、301 Permanently Moved応答は新しい URL が実際には であるとスパイダーに伝えますexample.com/blog。したがって、クモの目には、example.com/blog.aspxですexample.com/blog

これは、人々が PageRank を失わずに Web サイトやページを移動する方法です。これは、書き換えエンジンがスパイダーを新しいページに向け、新しいページ名が古いページ名と同じ PageRank を維持するためです。

URL 書き換えは、このサイトを例として使用してサイトにアクセスする方法でもwww.stackoverflow.comあり、ブラウザに実際に表示stackoverflow.comさせます ( www. 書き換えエンジンは、 への参照www.stackflow.comが実際に呼び出されることをブラウザー (およびスパイダー) に通知しstackoverflow.comます。


満足のいく解決策はすでに見つかっていますが、エラー メッセージを送信するよりも洗練された専門的な解決策であるため、URL 書き換えについて検討することを強くお勧めします。non-wwwまた、すべてのリクエストをURLにリダイレクトできるためwww、SEO ランキングの低下をさらに防ぐことができます。

于 2012-06-10T18:58:58.453 に答える