64 lines
3.0 KiB
JSON
64 lines
3.0 KiB
JSON
/**
|
|
* Friendly URL Structure
|
|
*
|
|
* For each value in the $furl array:
|
|
* The key should be the "SEO Template" - an identifier which you'll use when displaying a URL.
|
|
* The value should be an associative array with two or three elements: 'friendly' and 'real', and optionally 'verify':
|
|
* 'friendly'
|
|
* The friendly URL to use - encase variables in {curly braces} containing a symbol, followed by the name of the parameter that matches in the "real" URL
|
|
* The symbol should be # for numbers or @ for strings
|
|
* For example, if the "real" URL contains id=XXX, where XXX is a number, you should include {#id} somewhere in the friendly URL.
|
|
* You can also use the tag {?} for the "SEO Title" (that is, any variables that shouldn't be part of the real URL, such as the name of the topipc being viewed).
|
|
* If you want to support more than one SEO Title, you can give them zero-indexed keys like so: {?0} {?1} {?2}
|
|
* 'real'
|
|
* This should be the base of the real URL. You should not include parameters which will be parsed out from the friendly URL.
|
|
* 'verify'
|
|
* This should be the name of a class that contains a loadFromUrl() and an url() method. The dynamic URL (i.e. app=core&...) will be passed to loadFromUrl(), and the url()
|
|
* method will subsequently be called to retrieve the correct URL, ideal with ActiveRecord pattern classes.
|
|
*
|
|
* IMPORTANT: Ensure values are listed with the most specific ones first. This is to ensure that non-FURL redirects are done correctly. For example, if you have these FURLs:
|
|
* /index.php?app=myapp&module=mymodule&controller=mycontroller&do=myaction -> /myfolder/myaction
|
|
* /index.php?app=myapp&module=mymodule&controller=mycontroller -> /myfolder
|
|
* They must be provided in that order, otherwise the former will redirec to /myfolder/?do=myaction rather than /myfolder/myaction
|
|
*/
|
|
{
|
|
"topLevel": "forums",
|
|
"pages": {
|
|
"forums_rss": {
|
|
"friendly": "forum/{#id}-{?}.xml",
|
|
"real": "app=forums&module=forums&controller=forums&rss=1"
|
|
},
|
|
"forums_forum": {
|
|
"friendly": "forum/{#id}-{?}",
|
|
"real": "app=forums&module=forums&controller=forums",
|
|
"verify": "\\IPS\\forums\\Forum",
|
|
"seoPagination": true
|
|
},
|
|
"forums_clubs": {
|
|
"friendly": "forum/clubs",
|
|
"real": "app=forums&module=forums&controller=forums&do=clubs"
|
|
},
|
|
"topic_copy": {
|
|
"friendly": "topic/{#id}-{?}/copy",
|
|
"real": "app=cms&module=database&controller=topic"
|
|
},
|
|
"forums_topic": {
|
|
"friendly": "topic/{#id}-{?}",
|
|
"real": "app=forums&module=forums&controller=topic",
|
|
"verify": "\\IPS\\forums\\Topic",
|
|
"seoPagination": true
|
|
},
|
|
"forums": {
|
|
"friendly": "",
|
|
"real": "app=forums&module=forums&controller=index"
|
|
},
|
|
"topic_create": {
|
|
"friendly": "submit",
|
|
"real": "app=forums&module=forums&controller=forums&do=createMenu"
|
|
},
|
|
"topic_non_forum_add_button": {
|
|
"friendly": "startTopic",
|
|
"real": "app=forums&module=forums&controller=forums&do=add"
|
|
}
|
|
}
|
|
} |