1

サイトのページのセグメントである「短いURL」を作成することに興味があります。ただし、これは、別のリンク先URLにリダイレクトされるbit.lyのような「短いURL」の従来の意味ではありません。短縮URLを最終的な宛先にしたい。

たとえば、これらのURLの1つはhttp:// foo / a / Afjbgであり、そこに移動すると、http:// foo / a / Afjbg(IOW、http:// foo / a / Afjbg)にとどまります。アドレスバーにユーザーに表示されます)。

静的コンテンツの場合は、ページとフォルダーをこれらの名前に配置するだけです。ただし、サイトにあるコンテンツはDBから動的に駆動されるため、各ページはその場で生成されます。したがって、コンテンツは論理的に異なりますが、実際には、動的コンテンツを含む同じ.aspxページです。

これは、Microsoftホスティングスタックでどのように実現できますか?プラットフォームはASP.NET4を備えたIIS7です。これを簡単に設定する方法があると思いますが、MSホスティングスタックは初めてなので、わかりません:)

4

3 に答える 3

1

これはURLルーティングと呼ばれ、バージョン3.5以降ASP.NETはネイティブにサポートしています。これは、MSDNから抜粋したC#の例です。波状の角かっこは、パラメータとしてに送信されるURLパスのチャンクを個別化します~/categoriespage.aspx

protected void Application_Start(object sender, EventArgs e)
{
    RegisterRoutes(RouteTable.Routes);
}

public static void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("",
        "Category/{action}/{categoryName}",
        "~/categoriespage.aspx");
}
于 2011-03-07T02:15:40.513 に答える
1

ASP.NETMVCルーティングを使用する

これにより、任意のURLパターンを「ページ」にルーティングできます。

例えば

routes.MapRoute(
                "Default", // Route name
                "a/{id*}",   // Route anything to this controller
                new { controller = "Home", action = "Index", id = "" } // Parameter defaults
            );
于 2011-03-07T02:19:00.303 に答える
0

ほとんどすべての.NETベースのCMSまたはブログエンジンを使用して、スラッグを短い文字列にすることができます。

詳細:

ほとんどのCMSおよびブログエンジンでは、ソフトウェアがスラッグを投稿タイトルから分離します。スラッグを指定しない場合は自動生成されます...たとえば、「He​​lloworld」というタイトルの投稿は「hello_world」の生成されたスラッグを取得する可能性があります。しかし、あなたは「Afjbg」になるためにあなた自身のスラッグをタイプすることができます。

または、もう少し洗練されたものにしたい場合は、上記で引用した両方のプログラムがオープンソースです。つまり、スラッグ生成コンポーネントを簡単に変更して、これらの小さな文字列を自動生成できます。

ASP.NETルーティングを使用することもできますが、使用または構築しているアプリケーションについて詳しく知らないと、簡単に機能しない可能性があります(つまり、一部のCMSエンジンは既にルーティングを使用している場合や、使用しない古い学校のハンドラーを使用している場合があります)。それでうまく遊んでください)。

于 2011-03-07T02:14:26.603 に答える