Re: RE: Virtual Directories and IIS
With a rewrite rule, if rewriting from /somesite/foo.cfm to /foo.cfm, 'somesite' will *not* appear in your cgi.script_name variable (you will see '/foo.cfm'). You can however pass the value to the request as a url parameter, e.g. /somesite/foo.cfm - /foo.cfm?site=somesite (or some other scheme that you may come up with) HTH Dominic On 6 December 2010 21:43, Rick Root rick.r...@gmail.com wrote: On Mon, Dec 6, 2010 at 3:50 PM, Russ Michaels r...@michaels.me.uk wrote: Well if each site is different and have its own files then you need a unique URL and a folder in which to store the files, so I can't see how you can avoid either a real or a virtual directory. However if every site uses the same codebase, then you could use some url rewriting to allow your code to handle the different sites. Each site uses the same code base, and tt already handles it because I currently use 12,000 virtual directories that point back to the code base in the web root. The code itself gets the site information from the name it finds in the cgi SCRIPT_NAME variable. Here's an example: www.classcreator.com/Saline-MI-1990 I was thinking about using ISAPI Rewrite, as suggested by someone else, but I'm afraid that would actually cause the site name Saline-MI-1990 to be invisible to Coldfusion (would it still be part of the cgi.script_name?) Rick ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:339876 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
RE: Virtual Directories and IIS
Not sure if this helps, but a simple custom 404.cfm would work. Update the Custom Errors in IIS, create a custom 404.cfm page that looks in a DB for the missing/unfounded URL. For instance you could place in the DB MyWebSite1 will map to www.mydomain.com/mywebsite1, then do a cfLocation in the 404.cfm file to the real URL. We do this with a lot of success. Makes it easy to bring on new clients without having to create those virtual directories. Again, this only works if you have access to IIS/Web Server custom errors. If you need more info, just ask! Brian -Original Message- From: Rick Root [mailto:rick.r...@gmail.com] Sent: Monday, December 06, 2010 1:44 PM To: cf-talk Subject: Virtual Directories and IIS I'm wondering if there's a better way to do what we're doing. Currently, we have about 12,000 web sites, each of which uses a virtual directory that refers to the web root www.mydomain.com/mywebsite1 www.mydomain.com/mywebsite2 etc Some of these sites end up buying domains and they just end up going to www.mywebsite1.com .. but the virtual directory still works. So yeah, we've got 12,000 virtual directories (back in the old days, we actually had 2,000 physical subdirectories with 2,000 identical copies of the files, so the virtual directory method was a vast improvement) that being said, I'm having problems getting my dot net calls to work (a topic for another thread) but this got me thinking.. is there a better way? Could I somehow have a catch-all virtual directory that would prevent me from having to create unique virtual directories for every site? like, in the case www.mydomain.com/mywebsite1/foo.cfm, if there ws no /mywebsite1/ physical directory, then look for foo.cfm in the web root.. but do not REDIRECT (because we rely on /mywebsite1/ being in the URL so we know which site they're accessing) rick ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:339823 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
RE: Virtual Directories and IIS
Rick, What is the purpose of all these sub directories, is each site actually different? What are you actually trying to achieve. Russ -Original Message- From: Rick Root [mailto:rick.r...@gmail.com] Sent: 06 December 2010 18:44 To: cf-talk Subject: Virtual Directories and IIS I'm wondering if there's a better way to do what we're doing. Currently, we have about 12,000 web sites, each of which uses a virtual directory that refers to the web root www.mydomain.com/mywebsite1 www.mydomain.com/mywebsite2 etc Some of these sites end up buying domains and they just end up going to www.mywebsite1.com .. but the virtual directory still works. So yeah, we've got 12,000 virtual directories (back in the old days, we actually had 2,000 physical subdirectories with 2,000 identical copies of the files, so the virtual directory method was a vast improvement) that being said, I'm having problems getting my dot net calls to work (a topic for another thread) but this got me thinking.. is there a better way? Could I somehow have a catch-all virtual directory that would prevent me from having to create unique virtual directories for every site? like, in the case www.mydomain.com/mywebsite1/foo.cfm, if there ws no /mywebsite1/ physical directory, then look for foo.cfm in the web root.. but do not REDIRECT (because we rely on /mywebsite1/ being in the URL so we know which site they're accessing) rick ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:339827 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: RE: Virtual Directories and IIS
Yes, each is managed and customized by different people. On Dec 6, 2010 2:18 PM, Russ Michaels r...@michaels.me.uk wrote: Rick, What is the purpose of all these sub directories, is each site actually different? What are you actually trying to achieve. Russ -Original Message- From: Rick Root [mailto:rick.r...@gmail.com] Sent: 06 December 2010 18:44 To: cf-talk Subject: Virtual Directories and IIS I'm wondering if there's a better way to do what we're doing. Currently, we have about 12,000 web s... ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:339833 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: RE: Virtual Directories and IIS
Simple rewrite rule using a rewrite ISAPI filter. Either the free Ionic one or paid for Helicon: http://www.isapirewrite.com/ http://www.isapirewrite.com/http://iirf.codeplex.com/ http://iirf.codeplex.com/Your rewrite rule might look something like (there will surely be some better regex for your use cases): RewriteRule /(+*?)/(.*)$ /index.cfm?site=$1params=$2 [I,L] or perhaps: RewriteRule ^/(+*?)/(.*)$ /$2/?site=$1 [I,L] (etc) HTH Dominic On 6 December 2010 20:19, Rick Root rick.r...@gmail.com wrote: Yes, each is managed and customized by different people. On Dec 6, 2010 2:18 PM, Russ Michaels r...@michaels.me.uk wrote: Rick, What is the purpose of all these sub directories, is each site actually different? What are you actually trying to achieve. Russ -Original Message- From: Rick Root [mailto:rick.r...@gmail.com] Sent: 06 December 2010 18:44 To: cf-talk Subject: Virtual Directories and IIS I'm wondering if there's a better way to do what we're doing. Currently, we have about 12,000 web s... ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:339836 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
RE: RE: Virtual Directories and IIS
Well if each site is different and have its own files then you need a unique URL and a folder in which to store the files, so I can't see how you can avoid either a real or a virtual directory. However if every site uses the same codebase, then you could use some url rewriting to allow your code to handle the different sites. e.g. www.domain1.com rewrite to www.primarydomain.com/?siteid=site1 www.doamin2.com rewrites to www.primarydomain.com?siteid=site2 URL rewriting is built right into IIS7, otherwise you can use ISAPI_REWRITE Russ -Original Message- From: Rick Root [mailto:rick.r...@gmail.com] Sent: 06 December 2010 20:19 To: cf-talk Subject: Re: RE: Virtual Directories and IIS Yes, each is managed and customized by different people. On Dec 6, 2010 2:18 PM, Russ Michaels r...@michaels.me.uk wrote: Rick, What is the purpose of all these sub directories, is each site actually different? What are you actually trying to achieve. Russ -Original Message- From: Rick Root [mailto:rick.r...@gmail.com] Sent: 06 December 2010 18:44 To: cf-talk Subject: Virtual Directories and IIS I'm wondering if there's a better way to do what we're doing. Currently, we have about 12,000 web s... ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:339839 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: RE: Virtual Directories and IIS
On Mon, Dec 6, 2010 at 3:50 PM, Russ Michaels r...@michaels.me.uk wrote: Well if each site is different and have its own files then you need a unique URL and a folder in which to store the files, so I can't see how you can avoid either a real or a virtual directory. However if every site uses the same codebase, then you could use some url rewriting to allow your code to handle the different sites. Each site uses the same code base, and tt already handles it because I currently use 12,000 virtual directories that point back to the code base in the web root. The code itself gets the site information from the name it finds in the cgi SCRIPT_NAME variable. Here's an example: www.classcreator.com/Saline-MI-1990 I was thinking about using ISAPI Rewrite, as suggested by someone else, but I'm afraid that would actually cause the site name Saline-MI-1990 to be invisible to Coldfusion (would it still be part of the cgi.script_name?) Rick ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:339846 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
RE: Virtual Directories and IIS
I have done this and it works a treat, which also means I no longer need to run scripts to setup IIS VDirs anymore. I also use SES so it might be a bit different if you aren't doing this. But I always treat the first in the list for example /myvdir/foo.cfm would be myvdir as a virtual directory, then try to look it up against known clients. If it doesn't match then it must be a dir, and continue. All this info is in the url string so it is easy to work out. Regards, Andrew Scott http://www.andyscott.id.au/ -Original Message- From: Rick Root [mailto:rick.r...@gmail.com] Sent: Tuesday, 7 December 2010 5:44 AM To: cf-talk Subject: Virtual Directories and IIS I'm wondering if there's a better way to do what we're doing. Currently, we have about 12,000 web sites, each of which uses a virtual directory that refers to the web root www.mydomain.com/mywebsite1 www.mydomain.com/mywebsite2 etc Some of these sites end up buying domains and they just end up going to www.mywebsite1.com .. but the virtual directory still works. So yeah, we've got 12,000 virtual directories (back in the old days, we actually had 2,000 physical subdirectories with 2,000 identical copies of the files, so the virtual directory method was a vast improvement) that being said, I'm having problems getting my dot net calls to work (a topic for another thread) but this got me thinking.. is there a better way? Could I somehow have a catch-all virtual directory that would prevent me from having to create unique virtual directories for every site? like, in the case www.mydomain.com/mywebsite1/foo.cfm, if there ws no /mywebsite1/ physical directory, then look for foo.cfm in the web root.. but do not REDIRECT (because we rely on /mywebsite1/ being in the URL so we know which site they're accessing) rick ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:339856 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
RE: RE: Virtual Directories and IIS
Rick, If www.classcreator.com/Saline-MI-1990 is what you want CF to see then this is simply what you need to rewrite the URL to. So user requests www.saline-mi.com and gets rewritten to www.classcreator.com/Saline-MI-1990 If the vDir matchs the domain name then it should be fairly easy rules, if the vDir name has nothing to do with the domain name, then you will have to create a new rule for each site. Russ -Original Message- From: Rick Root [mailto:rick.r...@gmail.com] Sent: 06 December 2010 21:43 To: cf-talk Subject: Re: RE: Virtual Directories and IIS On Mon, Dec 6, 2010 at 3:50 PM, Russ Michaels r...@michaels.me.uk wrote: Well if each site is different and have its own files then you need a unique URL and a folder in which to store the files, so I can't see how you can avoid either a real or a virtual directory. However if every site uses the same codebase, then you could use some url rewriting to allow your code to handle the different sites. Each site uses the same code base, and tt already handles it because I currently use 12,000 virtual directories that point back to the code base in the web root. The code itself gets the site information from the name it finds in the cgi SCRIPT_NAME variable. Here's an example: www.classcreator.com/Saline-MI-1990 I was thinking about using ISAPI Rewrite, as suggested by someone else, but I'm afraid that would actually cause the site name Saline-MI-1990 to be invisible to Coldfusion (would it still be part of the cgi.script_name?) Rick ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:339859 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm