No, it could be a relative path, but it is **relative** to ServerRoot. I set:
ServerRoot "/home/tianyin/httpd-2.4.3" DocumentRoot "htdocs" <Directory "htdocs"> ...... </Directory> And everything is perfectly fine. On Thu, Nov 29, 2012 at 4:02 PM, Yehuda Katz <yeh...@ymkatz.net> wrote: > On Thu, Nov 29, 2012 at 6:57 PM, Alex Chen <alex_c...@filemaker.com>wrote: > >> However I have already set ServerRoot to "C:/Program Files/Apache" and >> DocumentRoot to 'htdocs", therefore I assume it implies the document root >> will be "C:/Program Files/Apache/htdocs", as indicated in your reply, >> correct? >> >> The question is why I have to use <Directory "C:/Program >> Files/Apache/htdocs"> instead of <Directory "htdocs"> even though >> DocumentRoot is already set to "htdocs"? > > > Because the documentation says that the <Directory > block always requires > the full path: > http://httpd.apache.org/docs/2.2/mod/core.html#directory > > That was a design decision that was probably made years ago. > -- Tianyin XU, http://cseweb.ucsd.edu/~tixu/