...
Part 1. Friendly URL String
...
Option A
- For Apache: mod_rewrite (free)
- For IIS: ISAPI_Rewrite 3 (or better) (not free) - This is a mod_rewrite compatible module for IIS
Place the following in your apache virtual or conf (Apache Only):conf or .htaccess
Code Block |
---|
##### APACHE MOD_REWRITE VERSION RewriteEngine On RewriteCond %{REQUEST_URI} !(^/farcry|^/webtop|^/flex2gateway|^/flashservices|^/cfide)($|/) RewriteRule ^([a-zA-Z0-9\/\-\%:\[\]\{\}\|\;\<\>\?\,\*\!\@\#\$\ \(\)\^_`~]*)$ /index.cfm?furl=$1 [L,PT,QSA] |
Option B
- For IIS
...
- : Ionic's Isapi Rewrite Filter (free)
Place the following in your INI file
Code Block |
---|
##### IONIC ISAPI IISREWRITE VERSION RewriteCond %{QUERY_STRING} ^(.*)$ RewriteCond %{REQUEST_URI} !(^/farcry|^/webtop|^/flex2gateway|^/flashservices|^/cfide)($|/) RewriteRule ^(.*)$ /index.cfm?furl=$1&%1 |
...
Sub-directory Config Example
If you are using a sub-directory installation of FarCry, here is an example of how you would set up the rewrite for a sub-directory installationRewriteRule. Notice that the RewriteRule specifies the subdirectories sub-directories at the start, and redirects to that subdirectory sub-directory in the rewrite. These subdirectories sub-directories are also included in the rewrite exception for the webtop (optional - if you want to have webtop aliases under each sub-directory rather than just from the webroot). If you have other exceptions you will need to update those as well.
Code Block |
---|
##### APACHE MOD_REWRITE VERSION RewriteEngine On RewriteCond %{REQUEST_URI} !(^/farcry|^/webtop|(subdirectory1|subdirectory2)/webtop|^/flex2gateway|^/flashservices|^/cfide)($|/) RewriteRule ^/(subdirectory1|subdirectory2)([a-zA-Z0-9\/\-\%:\[\]\{\}\|\;\<\>\?\,\*\!\@\#\$\ \(\)\^_`~]*)$ /$1/index.cfm?furl=$2 [L,PT,QSA] |
What Does The RewriteRule Actually Do?
Info |
---|
This The RewriteRule essentially redirects the request to the index.cfm where any url without (starting from the webroot) does not include a "." in it (ie, index.cfm, main.css, fotm.js) and not under the folders specified in the exception (/farcry, /webtop, /flex2gateway, /flashservices). Placing the carrot ^ before each exception (optional) specifies that the folder is directly under the webroot. You can omit the carrot in cases where folder exceptions may not lie directly under webroot. |
For Example:
Browser Address | Server Address |
---|---|
Not Redirected | |
http::/localhost/index.cfm?furl=/my-cool-page | |
http://localhost/my-cool-page/and-its-cool-subpage | http://localhost/index.cfm?furl=/my-cool-page/and-its-cool-subpage |
http://localhost/another-fu?page=5 |
...