2011-12-08 18 views
1

asp.netのWebフォームでルートを作成することはできますが、mydomain.com/aboutusのようなすべてのページを処理する方法を作成するにはどうすればよいですか?WebFormsでCMSのルーティングを行うにはどうすればよいですか?

私はカスタムirouteハンドラについて聞いたことがありますが、誰かが実際に私に例を示すことができますか?

誰かが私にこのことについてどうやってC#の例を送ってもらえますか?私はpage.aspxというファイルを持っています。このファイルは、CMSのすべての要求を処理します。私はそれが私が必要とするルートハンドラだと思う。

+0

あなたの質問に「答えました」ロブですが、私は自分のラピッドCMS製品を実行する際にこのアプローチを採用しました。あなたが見て、それについて私に尋ねたい場合、それはあなた自身を構築しているようにあなたを助けるかもしれません。それは私のプロフィールの詳細です。乾杯。 –

答えて

0

URL IIS 7.5およびIIS 7.5のURL書き換えはこれを非常にうまく行います。最初にWeb Platform Installerを使用してIISにURL書き換えをインストールする必要があります。その後、これをweb.configに配置します。

<system.webServer> 
    <rewrite> 
     <rules> 
      <rule name="admin" stopprocessing="true"> 
       <match url="^admin/(.+)$" /> 
       <action type="Rewrite" url="/admin/{R:1}.aspx" /> 
      </rule> 
      <rule name="pagehandler"> 
       <match url="^(.*)$" /> 
       <action type="Rewrite" url="/pagehandler.aspx?page={R:1}" /> 
      </rule> 
     </rules> 
    </rewrite> 
</system.webServer> 

ダイナミックに変更されていないページは、CMSを介して「ページハンドラ」ルールの上に配置できます。/pagehandler.aspxは、ページIDにパラメータを持ち、その内容を動的に提供します。それがうまくいく部分です。

0

これを処理する1つの方法は、Wordpress、ExpressionEngine、その他の多くのCMSと同じくらい再書き込みです。

あなたが要求された「ページ」必要に応じて、パラメータやプロセスであることとpage.aspxファイルへの要求を再書き込み可能性が...

mod_rewrite equivalent for IIS 7.0は、IISの再書き込みモジュール上の情報をたくさん持っていますこの方法を「きれいな」URLまたは「親しみやすい」URLに使用する任意の数のオープンソースソリューションを調べることができます。

+0

asp.netルーティング〜でこれを達成できないのですか? – rogue39nin

+0

することができます、クイック検索http://stackoverflow.com/questions/379558/mvc-net-routing#379823カスタムIRouteHandlerについて詳しく説明しています。私はこれを試みたことがありません - 私はASP.NETの初心者です - なぜ私は答えとしてそれを提案していません:-) –

関連する問題