如何为多个网站配置apache,例如<my_website_name> .localhost </my_website_name>

时间:2015-04-15 11:07:37

标签: apache ubuntu

我想在本地计算机上设置多个网站。我希望本地网络上的所有其他计算机都能够访问这些计算机。

所以我想映射不同的项目/www/html/<proj_web_root>

<proj_name>.localhost所以所有其他计算机都可以访问这些网站

<proj_name>.my_ip和我本地的<proj_name>.localhost

如何在/etc/apache2/sites-enabled个文件和/etc/hosts

中为每个网站配置此功能

1 个答案:

答案 0 :(得分:0)

就个人而言,我会避免将.local域用作共享组域。使用像.dev

这样的东西

在Apache中,您可以在VirtualHost中使用ServerName和ServerAlias指令并重写规则以实现URL路由,例如

<VirtualHost *:80>
ServerName www.dev
ServerAlias sub.dev
DocumentRoot /www/html

RewriteRule ^(.*) %{HTTP_HOST}/$1
</VirtualHost>

您还可以使用明显的通配符别名。在/ etc / apache / sites-available中保存为dev.conf。激活工作:

a2enmod rewrite
a2ensite dev

我一般不赞成主持黑客,但如果你坚持,这只是一个向/ etc / hosts添加内容的案例

这种方法的一个问题是你不能在主机名上使用通配符。我建议使用类似dnsmasq的东西,因为你可以添加通配符条目。在/etc/dnsmasq.conf中,您可以添加类似的内容(相应地更改IP地址):

address=/.dev/10.0.0.2

在所有情况下,请使用/etc/resolv.conf了解dns解析的优先级