Apache虚拟主机的配置
作者:wind521 来源:bbs.chinaunix.net 发布时间:2007-08-20 15:58:00
一、使用 mod_vhost_alias
1、简单的动态虚拟主机
# 从 Host: 头中取得服务器名字 Server Name
UseCanonicalName Off
# 这里的日志格式,可以在将来通过第一个参数域来分隔不同的虚拟主机的日志
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon
# 在返回请求的文件名的路径中包含进服务器名字: server name
VirtualDocumentRoot /www/hosts/%0/docs
VirtualScriptAlias /www/hosts/%0/cgi-bin
2、更为有效的基于 IP 地址的虚拟主机
# 从 IP 地址反解析得到服务器名字(server name)
UseCanonicalName DNS
# 在日志中包含 IP 地址,便于后续分发
LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon
# 在文件路径中包含 IP 地址
VirtualDocumentRootIP /www/hosts/%0/docs
VirtualScriptAliasIP /www/hosts/%0/cgi-bin
二、使用 mod_rewrite
1、使用 mod_rewrite 实现简单的动态虚拟主机
# 从 Host: 头获取服务器名字
UseCanonicalName Off
# 可分割的日志
LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon
<Directory /www/hosts>
# ExecCGI is needed here because we can't force
# CGI execution in the way that ScriptAlias does
Options FollowSymLinks ExecCGI
</Directory>
# 接下来是关键部分
RewriteEngine On
# a ServerName derived from a Host: header may be any case at all RewriteMap lowercase int:tolower
## 首先处理普通文档:
# 允许变名 /icons/ 起作用 - 其他变名类同
RewriteCond %{REQUEST_URI} !^/icons/
# 允许 CGIs
RewriteCond %{REQUEST_URI} !^/cgi-bin/
# 开始“变戏法”
RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1
## 现在处理 CGIs - 我们需要强制使用一个 MIME 类型
RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [T=application/x-httpd-cgi]
# 好了!
2、使用独立的虚拟主机配置文件 vhost.map
vhost.map 文件包含了类似下面的内容:
www.customer-1.com /www/customers/1
www.customer-2.com /www/customers/2
# ...
www.customer-N.com /www/customers/N
http.conf 包含了:
RewriteEngine on
RewriteMap lowercase int:tolower
# 定义映像文件
RewriteMap vhost txt:/www/conf/vhost.map
# 和上面的例子一样,处理变名
RewriteCond %{REQUEST_URI} !^/icons/
RewriteCond %{REQUEST_URI} !^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
# 这里做基于文件的重新映射
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/docs/$1
RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/cgi-bin/$1


猜你喜欢
- 内容摘要:今天来简单的谈谈如何写软文,可能大家会觉得:软文,不就是写个小作文,后面带上自己的链接吗,但现在越来越重视软文的结果,就是各个站长
- PR值(Page Rank)是较早被互联网从业人员熟知的谷歌算法之一,它的诞生甚至可以说成就了谷歌在搜索引擎行业范围内的霸主地位。随着互联网
- 百度一下:衬衫、香水、鲜花、旅行包,你会看到如下图所示(点击查看大图):百度搜索中,很多(不断增加中)热门关键词,均有“有啊”的“推广”。让
- 一.软件简介 本文主要讲述如何用IIS+Tomcat3.1支持JSP及servlet环境。正常情况下IIS不支持servlet及JSP环境。
- 做国外网络赚钱,很多新手都会面临一个如何拿到钱的问题,今天我就对此做个基础知识介绍教程。一般国外联盟主流采用支票,paypal,电汇,西联等
- 做为网站的站长,相信经常在网上留下您的联系email地址,如果没有做任何处理,一不小心,估计每天都会收到10多封奇奇怪怪的邮件,这就是所谓的
- Godaddy主机用户如何在File Manager里的多个项目上执行某个操作,下面我来教给大家:首先、登陆你的Account Manage
- 作为一个成长中的二流站长,说实话我做网站的目的就是为了赚钱,所以刚一开始我选择了做垃圾站。因为垃圾站能够短期内带来大量的流量,从而在短期内就
- orderby=digg 就是按照DIGG的次数来排序的{dede:arclist row=5 titlelen=24&
- 1、离线安装https://github.com/docker/compose/releases移动文件mv docker-compose-
- 什么是网站设计中最重要的一个环节?很多人会回答是网站的可读性,怎么样才能使你的内容更容易阅读。读者来到你的网站是在阅读他们关心的内容,如果文
- 网络协议在电影服务器中占有很重要的地位,可以说如果没有网络协议,电影服务器就根本无法正常发挥作用。本文简要介绍几种目前主流的网络协议,希望能
- watch命令watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行
- 最近才上的服务器,出现了无法删除文件夹的情况,文件可以删除,文件夹删除的时候提示The directory is not empty,解决办
- 网站不仅仅只包含网页,有时你需要提供用户能下载的文件。将你的文件放到服务器上并在网页中附上链接只是第一步,你还需意识到HTTP响应的头文件影
- 拷贝数据远程拷贝数据的时候,我们一般使用rsync命令,但是如果拷贝大量的小文件,会导致rsync的传输速度慢。使用tar pv lz4打包
- 1.网站建设之前首先要解决的问题A.所选行业 选择一个好的行业与前期网站规划能达到事半功倍的作用,保证后期的盈利。B.网站域名&
- 问题提出公司的开发测试服务器部署在阿里云, 阿里云给出的实例一般都是只有一个分区, 20G到40G的样子, 然后再买存储挂载到其他目录.而
- index.php index.htm defaut.html答:修改.htaccess。.htaccess可以做大量范围的事情,包括:文件