Here are just a few of those rewrite rules for you for major rewrite engines. You can spice them up as needed.
.htaccess
RewriteEngine on#ifthis call related to adminstrators or non rewrite folders, you can add more here.RewriteCond %{REQUEST_URI} ^/(.*(CFIDE|cfide|CFFormGateway|jrunscripts|railo-context|lucee|mapping-tag|fckeditor)).*$RewriteRule ^(.*)$ - [NC,L]#Images, css, javascript and docs, add your own extensions if needed.RewriteCond %{REQUEST_URI} \.(bmp|gif|jpe?g|png|css|js|txt|xls|ico|swf)$RewriteRule ^(.*)$ - [NC,L]#The ColdBox index.cfm/{path_info} rules.RewriteRule ^$ index.cfm [QSA,NS]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ index.cfm/%{REQUEST_URI} [QSA,L,NS]
Recent versions of Apache don't send the CGI.PATH_INFO variable to your cfml engine when using ProxyPass and ProxyPassMatch without the PT ( Pass Through ) directive.
On current versions of Coldbox, you can also use a pathInfoProvider function in your router.cfc or use the updated PassThrough configuration with a leading slash on the index.cfm below
################### LOCATION: ROOT #####################
location / {
# First attempt to serve real files or directory, else it sends it to the @rewrite location for processing
try_files $uri $uri/ @rewrite;
}
################### @REWRITE: COLDBOX SES RULES #####################
# Rewrite for ColdBox (only needed if you want SES urls with this framework)
# If you don't use SES urls you could do something like this
# location ~ \.(cfm|cfml|cfc)(.*)$ {
location @rewrite {
rewrite ^/(.*)? /index.cfm/$request_uri last;
rewrite ^ /index.cfm last;
}
################### CFM/CFC LUCEE HANDLER #####################
# The above locations will just redirect or try to serve cfml files
# We need this to tell NGinx that if we receive the following requests to pass them to Lucee
location ~ \.(cfm|cfml|cfc|jsp)(.*)$ {
# Include our connector
include lucee.conf;
}