6

質問の作成時にスタック オーバーフローが発生するのと同様のタイプの URL を作成したいと考えています。

例:

jQuery を使用した非 ajax GET/POST (プラグイン?) non-ajax-get-post-using-jquery-plugin

私が特に興味を持っているのは、太字で強調した最後の部分です。区切り文字を使用してページのタイトルを URL に追加する効果をどのように実現しますか?

この技術は何と呼ばれていますか?

4

7 に答える 7

14

可能であれば、書き換えるのではなく、ASP.NET ルーティングを使用してください。MVC と Web フォームの両方で使用できます。ルーティングははるかに柔軟で、コンテキストを処理コードに渡したり、ポストバックを処理したりするなどの点で優れています。

IIS7 書き換えモジュールを使用して、ASP.NET コードを実行する前に Web サーバー レベルで書き換えを処理することもできます。それを行う方法についての良い情報がここにあります。

于 2009-07-20T06:05:50.510 に答える
6

SO の URL 書き換えは、ASP.NET MVC のルーティング エンジンによって提供されます。

于 2009-07-20T06:04:46.033 に答える
5

この手法は「URL 書き換え」と呼ばれます。質問に「asp.net」のタグを付けたので、MSDN がそれについて役立つかもしれません: http://msdn.microsoft.com/en-us/library/ms972974.aspx

于 2009-07-20T06:03:07.863 に答える
5

Stackoverflow は ASP.Net MVC でプログラムされ、URL ルーティングは MVC のパッケージの標準部分です。URL ルーティングとは別に、それにはさらに多くの利点があります。したがって、新しい Web サイトを構築していて、他の利点の中でも特に URL ルーティングの利点を得たい場合は、MVC で作成してみてください。

ただし、かなりのことを学ばなければならないことに注意してください。

于 2009-07-20T06:25:37.630 に答える
1

この技術は何と呼ばれていますか?

他の人が言ったように、この手法はルーティングと呼ばれます。基本的に、きれいにフォーマットされた URL を取得し、それを何らかのコントローラー アクションにマップします。Jon Galloway の回答によると、 IIS 7 にはこの機能が統合されています。IIS の以前のバージョンでは、ASP.NET ランタイムへのワイルドカード アプリケーション マッピングをセットアップし、場合によってはアプリケーションの要求パイプラインに独自の HttpModule を追加して、選択した Web フレームワークがルーティング機能を提供しない場合にルーティングを処理する必要があります。

区切り文字を使用してページのタイトルを URL に追加する効果をどのように実現しますか?

これを実現するには、タイトルを小文字にし、英数字以外の文字をハイフンに置き換えます。このビットはスラッグと呼ばれることもあります。URL の長さの制限の問題に遭遇しないように、おそらくスラッグの長さも抑えたいでしょう。いくつかの場所でスラッグを生成するオプションもあります。

  • タイトルが送信されたら、残りのページ データと共にスラッグを保存します。
  • または、タイトルのあるページにリンクするページを生成するときに、その場で生成します。

スラッグをページ データの検索に使用しないでください。それがページ ID の目的です。スラッグはオプションである必要があります。ルーティング ルールは、URL から ID を取得し、それを正しいコントローラー アクションに渡すことだけに関係し、その後はすべて無視します。つまり、唯一の重要な部分は質問 ID です。ナメクジはただの砂糖です。:)

于 2009-07-20T07:06:14.863 に答える
0

ここではルーティングの方が明らかに優れたオプションですが、最小限の労力でそれを偽装する方法があります。たとえば、わかりやすい URL と SEO を取得する簡単な方法を
次に示します。次のページがあるとします。

example.aspx

何もしなくても、次の URL機能します。

example.aspx/some-friendly-text

クエリ データを結合することもできます。

example.aspx?id=1
example.aspx/some-friendly-text?id=1

PathInfo必要に応じて、リクエストのプロパティを使用してそのテキストにアクセスできます。

于 2009-07-20T07:47:45.793 に答える
0

このタイプのルーティングを使用すると、ユーザーは、使用したくないテキストを使用してページにリンクできることを忘れないでください。

私はこれを英国の新聞でよく見てきました。

新聞doman.co.uk/articles/1128945/dog-bites-man

そして、誰かがそれにリンクします

Newspaperdoman.co.uk/articles/1128945/newspaper-in-crap-story-shocker

または何でも。

于 2009-07-20T08:58:02.830 に答える