开发者

setting a default apache virtual host

Is there any better way of setting the default apache virtual host other than it just picking the first config it finds?

I have a server with many domains, of which only some are configured with httpd but the default virtual host severed up is for example is aaa.com where as really I would like it to default to mmm.com instead?

Something like parking domains without going through the hassle of setting up a config for each one - 开发者_Go百科then I can serve a "content this domain has not been created yet" page?

Cheers


You can create a default virtual host and name it something like 000-default so that it loads first and is used unless another vhost matching the requested domain is found. Here's the bare-bones 000-default:

<VirtualHost *:80>
    DocumentRoot /var/www
    <Directory /var/www >
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Then you can setup a PHP file under /var/www to create a domain parking page (this is a very simplified example):

<?php

printf('The domain <b>%s</b> is being parked', 
    htmlentities($_SERVER['HTTP_HOST']));

?>


The first sites-available conf file is default (alphabetically). There should be a 000-default.conf file already, if not create it.

Edit this one to your liking and then make sure it's enabled a2ensite 000-default.conf. And apache2 is reloaded sudo service apache2 reload.

Then any request that isn't caught by your other vhosts will come here.


Use ServerAlias in a name-based VirtualHost, you will only have to add one line per each new domain.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜