Joomla SEF urls are seperated into segments.
http:://www.ddddommmain.com/menualias1/menualias2/segment3/segment4/segment5/
------------------------------------
Interpreting a JOOMLA SEF URL
------------------------------------
STEP 1: deciding the component (a process called routing)
-- at least the 1 segment must be an alias of a Joomla menu item so that Joomla will know which component must be asked to handle the HTTP request,
When multiple menualias segments exist the last one is used to decide the component, in the above example it is /menualias2/
This process of deciding the component to which JOOMLA will to give the URL is called routing.
STEP 2: component found above and it is given the REMAINING parts of the URL
-- the SEF URL handler of FLEXIcontent, is then given the segments after the menu item aliases are removed,
e.g in the above example, we have 2 menu item aliases in the URL, thus the first 2 segments of the URL are removed meaning FLEXIcontent SEF URL handler is given parts 3, 4 and 5
Then flexicontent url parsing code tries to decide by the given URL segments (in our example the 3rd segment of the original URL) which content to show
We have 3 ways of deciding the page to show, (according to the segments AFTER the menu alias segments):
- you don't have any extra segments after the menu alias, thus the setting from the Joomla menu item are used to decide which content to show
- check if first segment is the 'view': e.g. item,category,tags,favourites, etc, that is followed by various variable values that depend on the view.
- decide by the number of segments: e.g. if it is length one it is category view (e.g. /45:cars/), if it is length 2 it is item view (e.g. /45:cars/922:redcar/)
Please note, that if you want to change the structure of your URLs, this is not possible without causing more problems and headaches
To achieve more short or attractive URL there are to options:
- Create a menu items for at least top-level categories, then possibly for lower levels too,
NOTE: if you have very little content you can create 1 menu-item per content, or at least the ones that are common/important.
NOTE:If you don't want some of these menu items to be visible in any frontend menu, you can place them inside a menu that is not displayed be any menu module
- An other alternative is to use some SEF component that uses DB tables to map SEF urls to appropriate content pages