You could alternatively change a bit of code in FU.cfc so that it only gets the mappings for the domains that are configured for the current application.

What problems do you see on very large sites?

Spike

Chris Kent wrote:

Hi,

Been thinking about replacing the servlet for Friendly URLs. Although it works very well I see problems with it in very large sites, also on a shared server where multiple FarCry sites are hosted, the FU Mappings are loaded to the Application scope for all sites.

So far I have come up with the following:

Add to application.cfm
<cfif getToken(cgi.PATH_INFO,2,"/") eq "newgo">
<cfset newgo2 = replace(listGetAt(cgi.PATH_INFO,listLen(cgi.PATH_INFO,"/"),"/"),"-"," ","ALL")>
<cfquery name="q" datasource="#application.dsn#">
SELECT * FROM #application.dbowner#dmNavigation
WHERE label = '#newgo2#'
</cfquery>
<cfif q.recordCount ge 1>
<cfset url.objectID = q.objectID>
<cfelse>
<cfset url.objectID = "">
</cfif>
</cfif>


Create a copy of buildlink.cfm and replace "/go/" with "/index.cfm/newgo/"
<cfset href = href & replace(application.factory.oFU.getFU(attributes.objectid),"/go/","/index.cfm/newgo/","ALL")>



I picked "newgo" as a temporary URLPattern to ensure that it was not confused with any old references to the original FU "go" URLPattern.


Ensure that FU's are switched off.

This is still in development, and I know there will be a problem where there are more than one dmNavigation nodes with the same Label. This can be resolved by checking ancestors when q.recordCount GT 1.

This can be seen working at www.12ftw.com - a development only site to try out ideas.

Any thoughts / ideas / problems.

Chris.




--

--------------------------------------------
Stephen Milligan
Code poet for hire
http://www.spike.org.uk

Do you cfeclipse? http://cfeclipse.tigris.org

---
You are currently subscribed to farcry-dev as: [EMAIL PROTECTED]
To unsubscribe send a blank email to [EMAIL PROTECTED]
Aussie Macromedia Developers: http://lists.daemon.com.au/

Reply via email to