Asp.Net URL書き換えの具体的な実現
iisを設定しないというと、主にバーチャルホストやiisの操作制限が得られない時に、isapを追加してはいけないし、静的なプログラム実現のような方法を実現したいです。ここで最終的に実現する効果は、最後に使えます。
12345.
置換
show.aspx?id=12345のような住所は訪問します。
百度の空間を実現することもできます。
http://hi.jb51.net/wu1987116
置換
http://hi.jb51.net/index.aspx?UserName=wu1987116
機能は、任意の拡張子と拡張なしに対応します。
プログラムを調整する部分は二つだけです。一つはweb.com figファイルです。二つ目はリンク先です。必要なurlrewrite.dll
まずURLRewriterをダウンロードします。http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi
ダウンロードしてインストールしてからbinディレクトリの下でURLRewriter.dllファイルを見つけます。
はい、実施します。第一歩:urlrewrite.dllをあなたのwebプログラムディレクトリにダウンロードします。どこでもいいです。binの中に入れたのです。引用を追加して、urlrewrite.dllを引用します。ステップ2:web.co.nfigを修正するには、いくつかの箇所を修正します。位置が違うので注意してください。
1 web.co nfigファイルに次のコードを入れます。「configration」の下に置くように注意してください。
そのうち
2 web.co.figファイルのsystem.webノードに下記のコードを追加します。
3上書きurl
1と同じように、ノードの下に置いてあります。
鍵は
効果:訪問時http://127.0.0.1/123.html実際に訪れたのはhttp://127.0.0.1/Shownews.aspx?ShowID=123
アクセスhttp://127.0.0.1/任意の文字の場合、実際にアクセスしたのはhttp://127.0.0.1/blog.aspx?UserName=任意の文字
注意第2、3ステップのマッピング順序
ここで、キーはurlの変換
最初のパスを別のパスに変えるという意味です。その中の()の正規表現は第二文のパラメータ$1です。
同じく$2$3で<Look For>の第二番目の()のパラメータを表しても良いです。
複数のパラメータ:
上の3つのステップをクリアすれば簡単にURLの書き換えができますが、サイトを公開するとURLの書き換えが無効になります。無効になるとIISを設定する必要があります。マスターディレクトリ->>>>>「挿入」ワイルドカードアプリケーションのマッピングをクリックして、「\WINDOWS\Microsoft.NET\Frame ebook」を選択します。isapi.dll」はチェックを外して確定します。上の設定が終わったら、正常に閲覧できます。
12345.
置換
show.aspx?id=12345のような住所は訪問します。
百度の空間を実現することもできます。
http://hi.jb51.net/wu1987116
置換
http://hi.jb51.net/index.aspx?UserName=wu1987116
機能は、任意の拡張子と拡張なしに対応します。
プログラムを調整する部分は二つだけです。一つはweb.com figファイルです。二つ目はリンク先です。必要なurlrewrite.dll
まずURLRewriterをダウンロードします。http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi
ダウンロードしてインストールしてからbinディレクトリの下でURLRewriter.dllファイルを見つけます。
はい、実施します。第一歩:urlrewrite.dllをあなたのwebプログラムディレクトリにダウンロードします。どこでもいいです。binの中に入れたのです。引用を追加して、urlrewrite.dllを引用します。ステップ2:web.co.nfigを修正するには、いくつかの箇所を修正します。位置が違うので注意してください。
1 web.co nfigファイルに次のコードを入れます。「configration」の下に置くように注意してください。
そのうち
<configSections>
<section name="RewriterConfig"type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
コンフィギュレーション「RewriterConfig」を指定するための処理プログラム類の名前は、「URLRewriter.C.onfig.Rewriter ConfigSerializer Serial Handler」で、binディレクトリ下のURLRewriter.dllファイルに存在します。2 web.co.figファイルのsystem.webノードに下記のコードを追加します。
<section name="RewriterConfig"
type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
このコードの意味は、ファイルの拡張子を.htmlと任意の拡張子(拡張子なし、*.)を含むので、この位置は上で先に処理されます)のファイルのすべてのHTTP要求をクラスのURLRewriter.Rewriter FactoryHandlerにマッピングし、注意順に上から下に実行します。もしpath=「*」が上にあるなら、下のマッピングは無効です。次のステップでは、そのページにマップする設定があります。3上書きurl
1と同じように、ノードの下に置いてあります。
鍵は
<httpHandlers>
<add verb="*" path="*.html"
type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*"
type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
です。効果:訪問時http://127.0.0.1/123.html実際に訪れたのはhttp://127.0.0.1/Shownews.aspx?ShowID=123
アクセスhttp://127.0.0.1/任意の文字の場合、実際にアクセスしたのはhttp://127.0.0.1/blog.aspx?UserName=任意の文字
注意第2、3ステップのマッピング順序
ここで、キーはurlの変換
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/(.+).html</LookFor>
<SendTo>~/Shownews.aspx?ShowID=$1</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/(.+)</LookFor>
<SendTo>~/blog.aspx?UserName=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
である。最初のパスを別のパスに変えるという意味です。その中の
同じく$2$3で<Look For>の第二番目の()のパラメータを表しても良いです。
複数のパラメータ:
<LookFor>~/(.+).html</LookFor>
<SendTo>~/Shownews.aspx?ShowID=$1</SendTo>
ステップ3:ページプログラムでは、こう書くことができます。newsid%>.html「target=」_blank">ニュースのタイトル上の3つのステップをクリアすれば簡単にURLの書き換えができますが、サイトを公開するとURLの書き換えが無効になります。無効になるとIISを設定する必要があります。マスターディレクトリ->>>>>「挿入」ワイルドカードアプリケーションのマッピングをクリックして、「\WINDOWS\Microsoft.NET\Frame ebook」を選択します。isapi.dll」はチェックを外して確定します。上の設定が終わったら、正常に閲覧できます。