Go Premium for a chance to win a PS4. Enter to Win

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 379
  • Last Modified:

Virtual Files & Directories

Hello Experts,

I currently have 2 web servers: My local (test) is Win7/IIS7 and my Live is Win2003/IIS6/Plesk

I have the following domains, subdomains, and directories:

- abc.com
- abc.com/admin
- abc.com/includes

- test.abc.com*
- test.abc.com/admin*
- test.abc.com/includes*

- abc123.com
- test.abc123.com*

Those with * are on my Live server only, the remaining are on both.

I'm using abc.com/includes for lot of things, including file includes for abc.com/admin, abc.com/cart, ..., and as virtual include for abc123.com/cart, abc123/payments, etc.

The intention of test.abc.com/includes, however, is to serve test.abc.com/admin, which is my server test site before I launch live.  I also use test.abc.com/includes to test my includes as well.  All files in test.abc.com/includes are exactly the same as in abc.com/includes, EXCEPT that in one include I have location = "test" in the other location = "live" which I use as a switch to connect to my live or test db.

So, when I upload file.asp to abc.com/admin - it connects to my live db; when I upload it to test.abc.com/admin - it connects to my test db - I don't have to change a thing in file.asp, the switch is in my include.

With everything said above, I need to MOVE abc.com/admin to abc123.com/admin (my client wants it moved, not redirected so he can see the URL), and I'm not sure how, especially if I want to keep my includes working the way they are?

My first thought was changing include file=... to include virtual=... - this worked on my local Win7, but when I upload it to test.abc123.com/admin I get

Active Server Pages error 'ASP 0126' 

Include file not found 

/admin/Index.asp, line 3 

The include file 'includes/common.asp' was not found. 

Open in new window

My next question is, why is the VIRTUAL working locally, bot not on the server (mind you- pages from abc123.com/cart are already successfully reaching abc.com/includes)?  Do I need to give permission specififically to test.abc123.com, and if so, how?  

Does Plesk have a seperate user for abc123.com and seperate for test.abc123.com?  How can I find out?

I realize when I get test.abc123.com/admin working, it would be connecting to my live includes.  Without changing my code in admin/*.asp, is there a way of setting up, so when i call include VIRTUAL=... from test.abc123.com it uses test.abc.com/includes, but when I call it from abc123.com it uses abc.com/includes? Or, I'm open to suggestions.

Finally, is there a way to get a listing of all virtul directories?

Any feedback would be greatly appreciated

Thank you!
1 Solution
Scott Fell, EE MVEDeveloperCommented:
First of all, you should have parents paths turned off for security reasons.  This would not allow  you to use <!-- #include file ="includes/common.asp" -->  or <!-- #include file ="../includes/common.asp" -->

If you have abc.com and can surf to abc.com/includes/common.asp then your include code would be

<!-- #include virtual ="/includes/common.asp" -->

If you have abc.com and can surf to abc.com/admin/includes/common.asp then your include code would be

<!-- #include virtual ="/admin/includes/common.asp" -->

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now