RewriteEngine On RewriteBase / <% function trimSlashPrefix(str){ if(!str) return str; if(str[0]=='/') return str.substr(1); else return str; } function escapeRedirectDest(str){ if(!str) return str; return str.replace(/%/g,'\\%').replace(/\$/g,'\\$').replace(/ /g,'\\ '); } -%> <% _.each(site_redirects, function(redirect){ -%> RewriteRule <%=''-%> <%_ if(redirect.redirect_url_type.substr(0,5) == 'REGEX'){ %><%-trimSlashPrefix(redirect.redirect_url)%> <%-redirect.redirect_dest%><% } else if(redirect.redirect_url_type.substr(0,5) == 'EXACT') { %>^<%-escapeRegEx(trimSlashPrefix(redirect.redirect_url))%>$ <%-escapeRedirectDest(redirect.redirect_dest)%><% } else { %>^<%-escapeRegEx(trimSlashPrefix(redirect.redirect_url))%>.*$ <%-escapeRedirectDest(redirect.redirect_dest)%><% } -%> [L<%=''-%> <%_ if((redirect.redirect_url_type=='EXACTICASE')||(redirect.redirect_url_type=='BEGINSICASE')||(redirect.redirect_url_type=='REGEXICASE')){ %>,NC<% } -%> <%_ if(redirect.redirect_http_code=='301'){ %>,R=301<% } -%> <%_ if(redirect.redirect_http_code=='302'){ %>,R=302<% } -%> <%_''%>] <% }); %>