Jump to content

Virtual Host Problems


sadkinso

Recommended Posts

So I've read the documentation, tested, changed settings, anything I could think of, and I still can't get this to work.

I'm running Apache 2.2.2 and want to host two sites on one IP address.  I set up the virtual hosts as follows:


listen 80

NameVirtualHost *:80

<VirtualHost *:80>
#backup page
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "C:/www/TheAccessoryOutlet"
ServerName 127.0.0.1
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "C:/www/BeadsByDee"
ServerName 192.168.0.41
</VirtualHost>


I know the ServerNames are funny, but I'll explain why that's okay in a sec.

I have the first host (in htdocs) as the default backup host with a "index.php" that just says try again, or whatever.  The next two have "index.php" in their respective folders.  The problem I'm having is that the backup is the page loading everytime, no matter what ServerName I access my server with.

Naturally, I just thought it was always going to the backup page because my ServerNames weren't matching since I'm not using actual URLs, just IP addresses, but I decided to print out $_SERVER['DOCUMENT_ROOT'], and it accurately identifies the corresponding doc root that I wanted.  Namely, I get a different doc root for going through localhost, 127.0.0.1, or 192.168.0.41, as if they were URLs, as I intended.

So why, then, is it loading up the first "index.php", when it says explicitly that the doc root is otherwise?  I even put an identically named image in each folder, and it loaded different ones up each time, but still would say "try again", since it loaded the backup "index.php".  What the heck is going on?

Does anyone have some insight?  I need it to load up the respective "index.php".  Maybe I can redirect it or something?
Link to comment
https://forums.phpfreaks.com/topic/25136-virtual-host-problems/
Share on other sites

Hej,

I am running virtual hosts on my Apache 2.0 running in Windows XP.  further, I have a dynamic IP address which doesn't change very often so I have 'hard coded' it in as this is a private server.  I also had some trouble setting up virtual hosts but it has been working for a year now.

My httpd.conf file for virtual hosts looks like below, perhaps this will give you some ideas?

-----------------------BEGIN HTTPD.CONF VIRTUAL HOSTS SEGMENT --------------------

<VirtualHost 85.226.70.148:80>
    ServerName www.multisolutions.mine.nu   
    DocumentRoot htdocs/multisolutions
    ServerAdmin [email protected]
    ErrorLog logs/multisolutions.mine.nu-error_log
    CustomLog logs/multisolutions.mine.nu-access_log common
</VirtualHost>
<VirtualHost 85.226.70.148:80>
    ServerName www.arikeinanen.mine.nu
    DocumentRoot htdocs/arikeinanen
    ServerAdmin [email protected]
    ErrorLog logs/arikeinanen.mine.nu-error_log
    CustomLog logs/arikeinanen.mine.nu-access_log common
</VirtualHost>
Link to comment
https://forums.phpfreaks.com/topic/25136-virtual-host-problems/#findComment-115748
Share on other sites

Okay, I figured out the problem.  It was because I was running PHP as a CGI, not a module, so that when the scripts would parse in the PHP engine, it would spit them back out at the document root that you set in PHP.ini, and not in the document root of your server.

It only took me about 6 hours, but hopefully no one else has to go though this.

Happy hosting.
Link to comment
https://forums.phpfreaks.com/topic/25136-virtual-host-problems/#findComment-116562
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.