F-engine URLs
By default, URLs in F-engine are designed to be search-engine and human friendly. Rather than using the standard "query string" approach to URLs that is synonymous with dynamic systems, F-engine uses a segment-based approach:
example.com/
news
/
article
/
my_article
Note: Query string URLs can be optionally enabled, as described below.
URI Segments
The segments in the URL, in following with the Model-View-Controller approach, usually represent:
example.com/
optionalSubFolder
/
filename
/
ID
- The first segment is needed only when the controller is located in a subfolder. Specify as much subfolder as needed separated by "/"
- The second segment represents the filename that should be called. If the file is located in a subfolder and it share name with, this segment becomes optional.
- The third, and any additional segments, represent the ID and any variables that will be passed to the controller.
The URI Class and the URL Helper contain functions that make it easy to work with your URI data. In addition, your URLs can be remapped using the URI Routing feature for more flexibility.
Removing the index.php file
By default, the index.php file will be included in your URLs:
example.com/
index.php
/news/article/my_article
You can easily remove this file by using a .htaccess file with some simple rules. Here is an example of such a file, using the "negative" method in which everything is redirected except the specified items:
RewriteEngine on
RewriteCond $1 !^(index\.php|public_data|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
In the above example, any HTTP request other than those for index.php, public_data, and robots.txt is treated as a request for your index.php file.
Adding a URL Suffix
In your config/config.php file you can specify a suffix that will be added to all URLs generated by F-engine. For example, if a URL is this:
example.com/index.php/products/view/shoes
You can optionally add a suffix, like .html , making the page appear to be of a certain type:
example.com/index.php/products/view/shoes.html