1

このソリューションでは、global.asax の正規表現を使用して asp.net の URL 書き換えを 1 行で実装する必要があります。

www.dummydomain.com/a/1/b/2/c/3/d/4/...                    
www.dummydomain.com/b/2/c/3
www.dummydomain.com/b/2/a/1/c/3/

これは、パラメータ シーケンスを変更しても影響を受けないことを意味します + 個別のパラメータの数は動的になります + i はこれらのパラメータ値に名前でアクセスできます (例: a、b、c)

4

2 に答える 2

1

URL 書き換えルールは、web.config を介して構成することも、プログラムによって構成することもできます。

次の MSDN の記事を見てください。詳細に説明されています。

http://msdn.microsoft.com/en-us/library/ms972974.aspx

また、簡単に言えば、プログラムで URL を書き換えるには、global.asax.cs の Application_BeginRequest() から HttpContext.RewritePath(string path) を呼び出します。

于 2012-10-07T14:13:18.910 に答える
0

文字列にsplitオプションを使用して、値を辞書に入れることができます。これは、パターンが壊れることがないことを前提としています。

Dim MyContext = HttpContext.Current
Dim url = Request.Path.ToLower()
url = url.Trim("/")
Dim Vals = url.Split("/")
Dim Dict As New Dictionary(Of String, String)
for i = 0 to (vals.count/2)-1
     Dict.Add(vals(i),vals(i+1))
next

次に、ディクショナリオブジェクトを使用して変数を見つけることができます。

これを、Application_BeginRequestメソッドのglobal.asaxファイルで実行し、MyContext.RewritePathを呼び出して、ユーザーを正しいパスに送信します。

if dict("a") = 1 then MyContext.RewritePath("new URL")
于 2012-10-07T14:05:35.340 に答える