Relative and absolute path on Apache localhost
I have installed Apache on my local machine (Windows 7, using AppServ). I opened a library called "MySite" under AppServ directory, so to access it I use the following URL:
http://127.0.0.1/MySite
The problem is that when I use
<link type='text/css' 开发者_运维百科href='/stylesheets/main.css' rel='stylesheet' media='all' />
The file is not loaded since it tries to look it in http://127.0.0.1/
instead of http://127.0.0.1/MySite
.
How can I change this?
Thanksm
Joel
Edit your apache.conf File and set your DocumentRoot to MySite
Actually, your question shows a flaw in your setup:
You want http://127.0.0.1/MySite
to point to a certain directory, say /var/www/MySite
.
This implies that
http://127.0.0.1/
points to/var/www/
, and thathttp://127.0.0.1/stylesheets
points to/var/www/stylesheets
.
But you want http://127.0.0.1/stylesheets
to point to a subdirectory, say /var/www/MySite/stylesheets.
It's possible, but probably not very wise.
Workarounds:
- Add an Alias for /stylesheets to
/var/www/MySite/stylesheets
- Set the DocumentRoot to
/var/www/MySite
and access the site withhttp://127.0.0.1
- vhosts
- Rewrite rules
You could change documentRoot:
http://httpd.apache.org/docs/2.0/mod/core.html#documentroot
精彩评论