You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by kp...@raleigh.ibm.com on 1999/02/02 19:59:08 UTC

Re: os-windows/3196: Continuing problems with root directories of other drives

[In order for any reply to be added to the PR database, ]
[you need to include <ap...@Apache.Org> in the Cc line ]
[and leave the subject line UNCHANGED.  This is not done]
[automatically because of the potential for mail loops. ]
[If you do not include this Cc, your reply may be ig-   ]
[nored unless you are responding to an explicit request ]
[from a developer.                                      ]
[Reply only with text; DO NOT SEND ATTACHMENTS!         ]


Synopsis: Continuing problems with root directories of other drives

State-Changed-From-To: feedback-closed
State-Changed-By: kparz@raleigh.ibm.com
State-Changed-When: Tue Feb  2 10:59:07 PST 1999
State-Changed-Why:
>I have just tried this. The authentication now seems
>to work okay, but there is still an problem with
>handling the root directory. If I request
>
>http://x.y.z/croot (without trailing slash)
>
>I am prompted for a username and password, then Apache
>tells the browser that /croot was not found. This
>strange behaviour is explained by the entry in the
>error log:
>
>d:\Apache\Apache.exe: [Tue Feb 02 17:36:52 1999] [error]
> [client 194.66.234.253] File does not exist:
> d:/pub/wwwroot/croot
>
>So it still does not work properly for me.
>
>Richard

When I request
http://x.y.z/croot
I do not get prompted for a password, but the 
server does return file not found.  This is working as
expected because you have an alias set up for /croot/
but not /croot 

Ken Coar and I were just talking about this, and here
is his take:

There needs to be parity wrt trailing slashes on the alias
and the target.  And, if your target is a directory on
your C drive, this causes no problem.  I.e., the following
would (should) both work:

Alias /cdir "C:/cdir"
Alias /cdir/ "C:/cdir/"

Unfortunately, due to Win32's concept of per-drive current
directory, *all* references that mention drive letters must
be absolute (i.e., must begin with "letter:/").  So if
you want to alias a URI to the top of your C drive as
mentioned here, you run into the slash parity problem: your
alias needs to have it in order to match the required
syntax of the target.

This appears to be a Win32 restriction.  The only possible
solution I see is to add a Redirect or Rewrite rule
that converts "/cdir" into "/cdir/" and leave the
'Alias /cdir/ "C:/"' in there.