5

DotNetNuke の URL リライタを実装したいと考えています。これが良いアプローチなのか、それとも可能なアプローチなのか、また他の開発者が持つ可能性のある提案について質問してください。

[ページ] -> [ページの追加] セクションから、URL リライターの動的または静的ルートを追加できますか?

「アクティビティ」メニュー項目の下に「イベント」というページを作成しているとしましょう。

ページの追加画面にプロンプ​​トを追加するカスタム コードを DotNetNuke に記述して、site.com/Activities/Events 用に静的または動的なルートを追加する必要があると想定するか、ページに「イベント カレンダー」という名前を付けると、 「site.com/Activities/Event-Calendar」をお勧めしますか?

これをどのように達成するかについてのフィードバックや提案をお待ちしています! ありがとうございました。

4

5 に答える 5

5

DotNetNuke 4.8以降を使用している場合は、Web.Configを介してHumanFriendlyUrlsを有効にする必要があります。

人間にわかりやすいURLを有効にするには、次を置き換えます。

<add name="DNNFriendlyUrl" type="DotNetNuke.Services.Url.FriendlyUrl.DNNFriendlyUrlProvider, DotNetNuke.HttpModules" includePageName="true" regexMatch="[^a-zA-Z0-9 _-]" />

と:

<add name="DNNFriendlyUrl" type="DotNetNuke.Services.Url.FriendlyUrl.DNNFriendlyUrlProvider, DotNetNuke.HttpModules" includePageName="true" regexMatch="[^a-zA-Z0-9 _-]" urlFormat="HumanFriendly" />

更新:DNN 7.x以降の場合、これは次のようになります。

<add name="DNNFriendlyUrl" type="DotNetNuke.Services.Url.FriendlyUrl.DNNFriendlyUrlProvider, DotNetNuke.HttpModules" includePageName="true" regexMatch="[^a-zA-Z0-9 _-]" urlFormat="advanced" />

追加の詳細:DotNetNukeで人間に優しいURLを有効にする

于 2009-06-03T16:58:25.800 に答える
3

これをチェックしてください - 詳細はこちら:

http://www.ifinity.com.au/Blog/Technical_Blog/EntryId/19/Rewriting-the-DotNetNuke-Url-Rewriter-Module/

また、DNN に既に含まれている既存の FriendlyUrl モジュールも見てください。

ストックページでこれを行いたい場合は、ソースをクラックして開くか、これを個別に行うモジュールを作成する必要があります。

于 2009-02-12T05:53:45.260 に答える
2

質問に直接答えるには: はい、DNN ページ設定ページにコードを追加できます。ただし、コア コードを変更することになるため、次の DNN リリースが作成されたときにインストールを簡単にアップグレードすることはできません。

多くの人が DNN に来て、新しい Url Rewriter を書きたがっています。問題は書き換えではありません。DNN フレームワークが、必要な場所 (メニュー内、モジュール内の生成されたリンク内) に正しい URL を生成するようになっています。書き換えスキームを実際に変更するには、URL 書き換え機能、フレンドリーな URL 生成機能を置換または拡張し、古い URL と新しい URL を結び付けるためにある種のリダイレクト機能を提供する必要があります。

于 2009-12-14T06:45:56.290 に答える
1

別の提案はPage Blasterです。独自のコードを記述したくない場合。私が使用しているサイトでうまく機能します。

于 2009-03-12T12:47:52.790 に答える
0

これらのいくつかは素晴らしい回答です... 現在 (2016 年以降) DNN について学習している場合に知っておくべき最も重要なことの 1 つは、URL 書き換えの領域が DNN 内で時間の経過とともに変化したことです。

以前は、DNN 4.8 以下では、PageBlaster または DNN Masters SEO URL REWriter または iFinity URL REWriter などの外部モジュール/プロバイダーを使用する必要がありました。これらはすべて、上記の回答の一部に記載されています。

ただし、DNN 4.9 以降、iFinity URL ReWriter が DNN コアに組み込まれ、DNN 5、6、7、および 8 でさまざまなレベルのインターフェイスに公開されていることがわかります。まだ web.config でいくつかの更新を行う必要がありますが、その多くは現在、ページ設定内で直接行われています。

メイン マネージャー内にない設定は、web.config またはデータベースで行うか、統合された DNN URL のデータベース レコードを利用する X3 DNN URL Management などの DNN モジュールを探すことができます。リライターであり、設定の管理に役立ちます (古い iFinity インターフェースの画面/オプションに非常に似ています) が、それは必要ありません。直接作業できます。単に役立つだけです。

于 2011-09-15T04:51:40.017 に答える