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
猜你喜欢
- 一:导入模板方案1.将方案包中的文件、目录复制到你的站点根目录中,如JS、Temp目录(复制前,请做好站点的文件备份,以便以后恢复时使用)2
- 伴随着康盛创想(Comsenz)2010年核心产品Discuz! X1的正式发布,如何更快应用新的模板机制改版已经成为站长建站普遍关注的焦点
- 北京时间10月14日消息,美国知名IT杂志《eWeek》网络版今天刊文称,即使是最忠实的谷歌“粉丝”
- 不知道大家有没有留意到,在异次元留言的朋友们,有些拥有很酷的个性头像,而有些人只是显示默认的头像。异次元本身并没有提供设置头像的
- 以前帮客户做好网站之后就轻松了,基本上不用再管,如果有什么问题,也只是负责修改某些功能而已,基本上牵扯不到网站的运营推广,哪些都是他们的事情
- 今天来讨论Godaddy主机的独立IP问题。首先给大家介绍下什么是独立IP:一个独立的IP(因特网协议)是一个仅能用于一个托管帐户的独一无二
- <script src="{dede:field name='phpurl'
- 曾是最大中文博客服务商,站方称是硬件问题,博客数据不会丢失曾经的中国博客网、现在的博尚网——&
- 搜索引擎流量占据网站流量很大一部份,为此,我们邀请了SEO知名人士“王通”给大家讲了一些SEO的基础知识.以下为王通老师今天下午培训全部记录
- 为了帮助您通过有限的空间获得更多的广告收益,我们在按点击付费的广告单元中添加了“下一页”和“上一页”按钮。当用户点击“下一页”按钮时,广告单
- 在过去的10年,架设一个大型网站是一个非常艰巨的任务,那可不是非专业人士可以完成的。现在好了,亚马逊开放了他们的服务器架构,一切都改变了。
- PHPWind v7.3.2收藏夹分页链接错误问题解决方法:打开mode/o/m_article.php查找:$pages =&n
- 我是2004年开始进入站长圈,几年下来,做了不下20个站,主题更是五花八门,往往是想到什么词热就不假思索的动手,手上的米更多,被K的,PR3
- 因为WordPress自带的搜索功能结果排序非常糟糕,在站点文章多的时候很难通过搜索找到自己要找的内容,不少人已经使用 Google CSE
- # 程序崩溃时不记录 kern.coredump=0 # lo本地数据流接收和发送空间 net.local.stream.recvspace
- 下面是根据各种网络赚钱模式归纳整理的,怎么也赚不了钱的网络赚钱方法,还望站长和希望通过互联网赚钱的朋友多加注意。(1)多层次营销(MLM)多
- 一、误导性或重复性关键词1、误导性关键词在页面中使用与该网页毫不相干的误导性关键词来吸引查询该主题的访问者访问网站。这种做法严重影响了搜索引
- 面对网络社会的红与黑,个人站长与之搏斗往往无力反击唯有坚持。浑浑噩噩在互联网上爬了三年,做过不计其数的垃圾站。流量从几十到几万的都有,K的K
- 为了更好的倾听用户声音拓展产品开发思路,Discuz!开发团队同时在官方论坛单独撰文,公布下一个版本的部分功能预告供用户讨论。Discuz!
- cisvc.exe>ContentIndex--It''sthecontentindexingserviceforI索