加入收藏
|
设为首页
|
会员中心
|
RSS
首页
开源资讯
Linux技术
硬件产品
编程开发
下载中心
网上商城
人才中心
开源论坛
BLOG
登陆
|
注册
|
修改资料
|
短信息
|
设置空间
|
管理信息
|
收藏夹
|
我的状态
|
消费记录
|
充值卡充值
|
我的购物车
|
我的订单
|
退出
|
|
绿色计算
|
新手入门
|
系统管理
|
网络管理
|
桌面应用
|
编程开发
|
网络安全
|
高性能集群
|
Linux嵌入式
|
|
技术文章
|
SUN 系列
|
IBM 系列
|
HP 系列
|
曙光 系列
|
浪潮 系列
|
方正 系列
|
戴尔 系列
|
|
数据库
|
PHP
|
JSP
|
HTML
|
CSS
|
javascript
|
JAVA
|
|
系统软件
|
网络工具
|
安全相关
|
媒体工具
|
OURLPI群专区
|
|
5Th Rack
|
CentOS
|
应用软件
|
|
|
您当前的位置:
首页
>
Linux技术
>
Linux嵌入式
apache对域名的泛解析
时间:2008-08-11 09:48:21 来源:
互联网
作者:
apache对域名的泛解析
很多网站都开通blog功能。当今也比较流行的,我在CU上也注册了一个如:chenwenming.cublog.cn 注册完后,地址栏输入:http://chenwenming.cublog.cn 后自动转到blog.chinaunix.net/u1/40226/立马就生效了,当时感觉很奇怪,一般域名生效起码等2个小时后才能生效。后来查了相关资料,原来是域名的泛解析.
在DNS服务器上添加一条A记录。其中,“主机名”填写“*” ,“指向”填写为自己网站的服务器IP。这样所有
*.cublog.cn 都指向60.28.166.87 所以不管你申请什么名字,如:chenwenming.cublog.cn 都解析到这个IP上。最主要的是apache的配置了。
将所有的虚拟主机段先删除,加入
ServerName local
ServerAlias *
UseCanonicalName OFF
VirtualDocumentRoot D:/www/%1
ServerName在这里不起作用,ServerAlias会将域名解析到D:/www下对应的目录,这样就不用每次都修改httpd.conf文件了。
需要注意的是使用VirtualDocumentRoot指令需要加载mod_vhost_alias模块,
去掉包含mod_vhost_alias行对应的LoadModule和AddModule前面的"#",restart一下apache就OK了
试了一下,果然很爽,可以使用
VirtualDocumentRoot /www/%2+
来实现泛解析,不过不管什么二级域名都被解析到根目录了,郁闷!也就是说
*.21andy.com 会被指向 /www/21andy.com
再想想,于是,可以用
VirtualDocumentRoot /www/%2+/%0
来实现二级域名分目录,即
www.21andy.com 会被指向 /www/21andy.com/www.21andy.com
test1.21andy.com 会被指向 /www/21andy.com/test1.21andy.com
test2.21andy.com 会被指向 /www/21andy.com/test2.21andy.com
有点不足,这样,www.21andy.com 也需要在21andy.com目录下再建一个目录了,要是www能到根目录,其他二级域名到二级目录就好了,不过也好,这样规范点,呵呵
主要是以下这2句,再也不用一个个绑域名了,只需要建立对应域名的目录
UseCanonicalName Off
VirtualDocumentRoot /www/%2+/%0
==============================================================
一、使用 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
# ExecCGI is needed here because we can't force
# CGI execution in the way that ScriptAlias does
Options FollowSymLinks ExecCGI
# 接下来是关键部分
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
来顶一下
返回首页
发表评论
共有
条评论
用户名:
密码:
验证码:
匿名发表
推荐资讯
相关文章
微软赞助Apache背后
业界观察:微软开始赞助Apache背后
向开放源代码表达善意? 微软资助Apache
Linux下Apache安装/增加mod_rewrite模块
Linux操作系统下安装Apache与PHP的方法
Debian下安装apache2+svn
移植apache1.3.34+php4.4.1到arm9+armlinux2.4.18
Apache2+Resin2.x集群配置
apache自带负载均衡的集群功能实战录
apache+tomcat+mysql 负载平衡和集群技术1
栏目更新
栏目热门
站内搜索:
新闻
下载
图库
FLASH
电影
商品
文章
分类信息
高级搜索
网站首页
|
关于我们
|
服务条款
|
广告服务
|
联系我们
|
网站大全
|
免责声明
|
返回顶部
Copyright © 2007-2008 LinuxExpress, All rights reserved.
Powered by 开源快讯
京ICP备06029167号