最近のアクセス:
URL Rewrite オブジェクト

フレンドリー URL を定義する URL Rewrite オブジェクトは、Web サイトの使いやすさとアクセシビリティを向上させることを目的とするオブジェクトです。
URL およびオブジェクトへの対応するマッピングを、パラメーターとともに定義できます。
フレンドリー URL を定義することで、インターフェースを実装から分離できます。
  • これは、SEO フレンドリーにするために役立ちます。
  • 定義された URL は、オブジェクト名やナレッジベースでのそれらのモジュール化とは独立しています。
  • 定義された URL は、選択したジェネレーターとは独立しています。これにより、柔軟性が増し、特定のプラットフォーム (.NET、.NET Core、または Java) への固定化が軽減されます。
このオブジェクトにはいくつかのパーツがあります:
  • [ Rewrite Rules ]
  • [ Variables ]
  • [ Help ]
  • [ Documentation ]

[ Rewrite Rules ]

これは URL Rewrite オブジェクトのメインパーツであり、マッピング (リライトルール) を定義できます。
各マッピングの左側のパーツで URL (またはその一部) が指定され、右側ではオブジェクトとそのパラメーターが参照されます。マッピングはセミコロンで区切ります。
home                                 => Home; 

core/clients                        => Core.WWClient;
core/clients/{&ClientId}/{&Mode}    => Core.Client(&Mode,&ClientId);
core/clients/{&ClientId}            => Core.ViewClient(&ClientId);
上記のマッピングでは、次のような URL になります。
  • http://www.example.com/home
  • http://www.example.com/core/clients
  • http://www.example.com/core/clients/1/UPD
  • http://www.example.com/core/client/1

考慮事項

  • すべてのパラメーターを参照する必要はありません。
  • URL Rewrite オブジェクトを作成すると、Link 関数の動作が変わります。URL Rewrite オブジェクトが存在する場合、ドキュメントの相対 URL ではなく、サーバーの相対 URL を返します。これにより、結果の文字列を別の文字列と連結して絶対 URL を作成するなど、コードが大きく変化する可能性があります。

制限

この機能を使用する際には、いくつかの制限があります。

1) 部分的パラメーター参照

欠けているパラメーターがクエリ文字列に追加されます:
core/clients/{&ClientId}    => Core.Client(&Mode,&ClientId);
結果は次のようになります:
  • http://www.example.com/core/clients/1?Mode=UPD
オブジェクトは次のように呼び出されます:
Core.Client('UPD',1)

2) パラメーターマッピングなしのオブジェクトマッピング

次のように記述します:
core/client => Core.Client;
オブジェクト Core.Client に次が設定されている場合も同じです。
parm(in:&Mode,in:&ClientId)
この例では、パラメーターの位置が決まっているスタイルの場合、結果の URL は次のようになります:
  • http://www.example.com/core/client?UPD,1
オブジェクトは次のように呼び出されます:
Core.Client('UPD',1)

デプロイ

GeneXus では、Deployment Unit オブジェクトのデプロイ時に、ナレッジベースの URL Rewrite オブジェクトで定義されたルールがすべて自動的にデプロイされます。これは、異なるオブジェクトで定義されたルール間に競合があってはならないことを意味します。

Java 固有

Tomcat 8 以降にデプロイする場合、リライトルールは自動的に機能しますが、別のサーブレットサーバーにデプロイする場合は、追加の設定が必要になる可能性があります。その場合は、urlrewrite.config ファイルのルールを使用してサーバーを構成します。

適用範囲

ジェネレーター: .NET、.NET Core、Java

サブページ
Created: 21/05/11 23:27 by Admin Last update: 21/05/20 21:16 by Admin
カテゴリ
Powered by GXwiki 3.0