apache通过httpd.conf绑定多个域名及二级域名

来源:互联网 发布:seo外链推广 编辑:程序博客网 时间:2024/05/16 10:31

Apache是最流行的HTTP服务器软件之一,其以快速、可靠(稳定)而著称,并且可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,并且源代码全部开放。如果有自己的服务器或者VPS,并且不想为了方便而购买昂贵的控制面板的话,那自己动手配置Apache就成了一门必修课了。下面简单的介绍了如何通过设置Apache的http.conf文件,进行多个域名以及其相关的二级域名的绑定(假设我们要绑定的域名是minidx.com和ntt.cc,二级域名是blog.minidx.com,独立IP为72.167.11.30).
apache怎么绑定多个域名 
打开http.conf 
1,ServerName 127.0.0.1 修改成ServerName 72.167.11.30 
2,#NameVirtualHost *   修改成"NameVirtualHost 72.167.11.30" 
3,在文件最后面有虚拟主机格式, 
#<VirtualHost *> 
#   ServerAdmin [email]admin@minidx.com[/email] 
#   DocumentRoot /www/httpd/html/minidx.com 
#   ServerName minidx.com 
#   ErrorLog logs/minidx.com-error_log 
#   CustomLog logs/minidx.com-access_log common 
#</VirtualHost> 
简单的添加: 
<VirtualHost 72.167.11.30> 
  DocumentRoot usr/local/www/ 
  ServerName   72.167.11.30 
</VirtualHost> 
<VirtualHost 72.167.11.30> 
  DocumentRoot usr/local/www/minidx.com/ 
  ServerName   minidx.com 
</VirtualHost> 
<VirtualHost 72.167.11.30> 
  DocumentRoot   usr/local/www/ntt.cc/ 
  ServerName   ntt.cc 
</VirtualHost>
日志文件的话也可以按照自己的路径添加。
Apache如何添加二级域名
httpd.conf 中需要打开mod_rewrite功能(关于URL重定向的具体说明,可以参照.htaccess使用方法总结),具体操作就是,在httpd.conf 的最后,添加以下内容:
RewriteEngine on 
RewriteMap lowercase int:tolower 
RewriteMap vhost txt:/usr/local/etc/apache/vhost.map 
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$ 
RewriteCond ${vhost:%1} ^(/.*)$ 
RewriteRule ^/(.*)$ %1/$1
其中的 /usr/local/etc/apache 是你的 apache 服务器配置文件所在路径,根据实际情况更改(例如在/etc/httpd/下面)。然后,在这个所在路径的目录下创建一个文件: vhost.map,内容为:
www.minidx.com /usr/local/www/minidx.com 
www.ntt.cc /usr/local/www/ntt.cc 
blog.minidx.com /usr/local/www/minidx.com/blog
最后,在网站根目录 /usr/local/www/下,创建对应目录就可以了。如果需要增加,修改或者删除域名,子域名,仅仅需要更改vhost.map文件,而不用重启apache进程。


本文转载自:http://blog.minidx.com/2008/04/12/708.html