I need to have multiple local sites in apache. So I add a virtual host for each one:
#/etc/apache2/sites-available/example.com:
<VirtualHost 127.0.0.1:80>
ServerAdmin webmaster@example.com
ServerName www.example.com
ServerAlias example.com
# Indexes + Directory Root.
DirectoryIndex index.php
DocumentRoot /var/www/example.com/htdocs/
# CGI Directory
ScriptAlias /cgi-bin/ /var/www/example.com/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>
# Logfiles
ErrorLog /var/www/example.com/logs/error.log
CustomLog /var/www/example.com/logs/access.log combined
</VirtualHost>
And then I do sudo a2ensite example.com
and sudo service apache2 restart
.
The problem is that root-relative paths don't work. For example when I say <link href="/css/somefile.css" rel="stylesheet">
somewhere in /var/www/example.com/htdocs/index.php
, apache fails to serve /var/www/example.com/htdocs/css/somefile.css
to browser (browsing: localhost/example.com/htdocs
)
What I'm missing?
apache
can see the file.