Took a few minutes today to help someone with an Xampp installation. He needed to do three things:
NameVirtualHosts, so that different dyndns-style hostnames would point to different virtual servers on the same box. No problem, he had NameVirtualHost working.
Create a second virtualhost to deliver a directory index of a specified DocumentRoot, and
Point that DocumentRoot at a network share mounted on a windows XP drive letter (B: -> \Server\Share)
Apache would explode. “DocumentRoot must be a directory” and refusal to start. After installing Xampp myself and fooling around for about 20 minutes I found that the DocumentRoot worked fine on a local drive, but not a network share on a drive letter.
So, since B:/ didn’t work, yet C:/ would let the server start, I threw //Server/Share/ at mine and it fired right up, gave the listing. Tada.
<3
Eeexcept it wouldn’t work for him.
After another hour of back and forth on IRC and emailing the config file back and forth (DCC wouldn’t work either but I blame my clearaccess modemrouter), I’m finally ready to declare it a ‘feature’ of windows XP. He had Xampp set up on an XP box, the files to be listed on a windows 7 box, and while he could hit \Server\Share on XP’s ‘Run’ command and have it pop right up with the share, apache would not tolerate //Server/Share and declared “must be a directory” Yet, //S/S would work fine when I tried it on Xampp running on windows 7.
Until I can roll a winxp VM and test it I can’t 100% blame XP, but I’m strongly leaning that direction. I’m assuming it’s a change in implementation in how the OS presents the share path to applications requesting it. 7 properly presents it as a directory and apache is pleased, but somehow XP doesn’t and apache is not amused.
(footnote: apache requires / while windows finds \ far more delicious)