Uploaded image for project: 'In-Portal CMS'
  1. In-Portal CMS
  2. INP-83

Redo Mod-Rewrite for Better Flexibility



    • Type: Feature Request
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.0.1
    • Component/s: Url Processing
    • Labels:


      There is a need to redo our Mod-Rewrite mechanism from the ground to add more flexibility. Currently URL parsing closely tied up to Module Root Categories so they can't be nested in each other. Additionally it can't easily accept and work with any other URL elements besides Catalog Items. All these leads to lack of flexibility in current setup.

      Proposing the following:

      1. Each "Unit Config" file will have a new option - PassPriority (we already might have it). If option was specified then that particular Prefix instead of "env" variable (now) will be added to URL in a special way.

      There will be 2 types of values:

      "number" - order if which current Prefix will be processed in case if there are multiple similar prefixes exist in current URL.
      "true" - order is not important, [B]no[/B] matter if there are multiple similar prefixes - we just going to process it differently (from reg. env. var).

      In case if URL contains Prefixes with both "numerical" and "non-numerical" (as described above) priorities - system will process "numerical first and then the rest. Also "numerical" can priority can be negative value.

      2. In the process of building URLs each prefix will call for event (ie. OnPrepareRewriteUrl ) which will do the job.

      3. During the step of building Unit Configs Cache for Application - all prefixes with PassPriority will be added in priority order into new property of kApplication class so it can be used when kModRewriteHelper will be parsing and breaking URL apart.

      4. During URL parsing current kModRewriteHelper will be taking "language" and "theme" parts while passing through the rest of URL (in correct order) to registered Prefixes calling an event (ie. OnParseRewriteUrl ) for local parsing.


          Issue Links



              • Assignee:
                alex Alex
                dmitry Dmitry Andrejev [Intechnic]
              • Votes:
                0 Vote for this issue
                0 Start watching this issue


                • Created: