3

URL書き換え用のweb.configは

 <rewrite>
        <rules>
            <rule name="Mobile Portal">
                <match url="^(code)(/)?([^']*)" />
                <action type="Redirect" url="Code.aspx?id={R:3}" />
            </rule>
        </rules>
    </rewrite>


input: www.abc.com/Code.aspx?id=123abcdef
Required output: www.abc.com/code/123abcdef
current output: http://www.abc.com/Code.aspx?id=.aspx

有効なページ URL はwww.abc.com/code/123abcです。「123abc」が必要です。www.abc.com/code/123abcでページにアクセスすると、URLが「 http://www.abc.com/Code.aspx?id=.aspx 」に変換されます。IIS 7を使用しています。この問題を解決するにはどうすればよいですか?

よろしくお願いします。

4

1 に答える 1

0

URL 書き換えの代わりに URL ルーティングを使用できます。この目的のために、Global.asax ファイルに移動し、次のように RegisterRoutes メソッドを記述します。

void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("my_abc_page",
        "code/{id}",
        "~/Code.aspx");
}

上記のコマンドを使用www.abc.com/code/123abcdefすると、解釈のような要求www.abc.com/Code.aspx?id=123abcdefがあり、ページのコードでこの ID にアクセスできます。

theId = Page.RouteData.Values["id"] as string;
于 2012-10-14T10:30:46.097 に答える