Apache下用rewrite实现动态二级域名解析
来源:百度文库 编辑:神马文学网 时间:2024/06/06 12:51:58
Apache下用rewrite实现动态二级域名解析
作者:钟钟 发表日期: 2006-10-10 02:17 复制链接
先前写过一篇通用的动态域名解析:http://blog.iecn.net/blog/html/do-showone-tid-341.html
那个相对简单一些,另外还有一种更常见的情况就是二级域名动态解析,这在一些个人主页系统、博客系统中的应用非常常见。
关于动态解析的,在无前那篇文章中基本上讲过了,不想再重复了,另外有关Apache的Rewrite大家最还是看Apache的官方文档,这里只想说说实例。
实现动态二级域名解析的一个关键就是,把特有的名字怎么能够提出来,因为RewriteRule中的匹配,是不包括域名的匹配的,其实这其中就是一层窗户纸,把域名先重写放到“路径”中,再对“路径”重写一次就可以了,也就是说加一步过渡。这样说大概还一头雾水,给个实例。
首先按我上次写的文章的那个需求写一个,假设动态解析*.iecn.cn。
注意要先做一个所谓的范域名解析,就是说把所有*.iecn.cn解析到某个IP上去,这不是本文章讨论范围就不细说了。
Apache中相关配置如下:
ServerAdminyourmail@domain.com
DocumentRoot /YourWwwRoot/.default
ServerName all-sites
ErrorLog logs/all-sites-error_log
CustomLog logs/all-sites-access_log common
# 下面三行实现动态解析
RewriteCond %{HTTP_HOST} ^[a-z0-9\-]+\.iecn\.cn$
RewriteRule ^/(.*)$ /%{SERVER_NAME}/$1 ##注##
RewriteRule ^/([a-z0-9\-]+)\.iecn\.cn/(.*)$ /YourWwwRoot/$1/$2 [L]
# 没有解析到的情况下扔到自己的一个PHP中做一下处理
RewriteRule ^.*$ /index.php [L]
注意我标注的地方,那一步就是一个过渡,说一下过程吧,假设现在访问:
http://zhong.iecn.cn/xxx
经第一步重写,变成 /zhong.iecn.cn/xxx
经第二步重写就是 /YourWwwRoot/zhong/xxx 了,其他的操作与我行前说的基本就差不多了。
再举一个可能更常见的实例,假设一个博客系统,要求把
http://xxx.iecn.cn
隐式的重写成
http://blog.iecn.cn/blog.php?u=xxx
这里面的xxx可以看做是一个用户名,想必类似这样的需求大家一定都见过很多了,不过多解释了。
同意先做范域名解析这里不多说。在Apache中做如下重写(只写Rewrite部分了):
RewriteCond %{HTTP_HOST} ^[a-z0-9\-]+\.iecn\.cn$
RewriteRule ^/?$ /%{HTTP_HOST}
RewriteRule ^/([a-z0-9\-]+)\.iecn\.cn/?$ /blog.php?u=$1 [L]
作者:钟钟 发表日期: 2006-10-10 02:17 复制链接
先前写过一篇通用的动态域名解析:http://blog.iecn.net/blog/html/do-showone-tid-341.html
那个相对简单一些,另外还有一种更常见的情况就是二级域名动态解析,这在一些个人主页系统、博客系统中的应用非常常见。
关于动态解析的,在无前那篇文章中基本上讲过了,不想再重复了,另外有关Apache的Rewrite大家最还是看Apache的官方文档,这里只想说说实例。
实现动态二级域名解析的一个关键就是,把特有的名字怎么能够提出来,因为RewriteRule中的匹配,是不包括域名的匹配的,其实这其中就是一层窗户纸,把域名先重写放到“路径”中,再对“路径”重写一次就可以了,也就是说加一步过渡。这样说大概还一头雾水,给个实例。
首先按我上次写的文章的那个需求写一个,假设动态解析*.iecn.cn。
注意要先做一个所谓的范域名解析,就是说把所有*.iecn.cn解析到某个IP上去,这不是本文章讨论范围就不细说了。
Apache中相关配置如下:
ServerAdminyourmail@domain.com
DocumentRoot /YourWwwRoot/.default
ServerName all-sites
ErrorLog logs/all-sites-error_log
CustomLog logs/all-sites-access_log common
# 下面三行实现动态解析
RewriteCond %{HTTP_HOST} ^[a-z0-9\-]+\.iecn\.cn$
RewriteRule ^/(.*)$ /%{SERVER_NAME}/$1 ##注##
RewriteRule ^/([a-z0-9\-]+)\.iecn\.cn/(.*)$ /YourWwwRoot/$1/$2 [L]
# 没有解析到的情况下扔到自己的一个PHP中做一下处理
RewriteRule ^.*$ /index.php [L]
注意我标注的地方,那一步就是一个过渡,说一下过程吧,假设现在访问:
http://zhong.iecn.cn/xxx
经第一步重写,变成 /zhong.iecn.cn/xxx
经第二步重写就是 /YourWwwRoot/zhong/xxx 了,其他的操作与我行前说的基本就差不多了。
再举一个可能更常见的实例,假设一个博客系统,要求把
http://xxx.iecn.cn
隐式的重写成
http://blog.iecn.cn/blog.php?u=xxx
这里面的xxx可以看做是一个用户名,想必类似这样的需求大家一定都见过很多了,不过多解释了。
同意先做范域名解析这里不多说。在Apache中做如下重写(只写Rewrite部分了):
RewriteCond %{HTTP_HOST} ^[a-z0-9\-]+\.iecn\.cn$
RewriteRule ^/?$ /%{HTTP_HOST}
RewriteRule ^/([a-z0-9\-]+)\.iecn\.cn/?$ /blog.php?u=$1 [L]
Apache下用rewrite实现动态二级域名解析
快速Apache二级域名实现方法
快速Apache二级域名实现方法
Apache rewrite技术实现Apache到lighttpd迁移
用mod_rewrite实现多用户二级域名Blog
用mod_rewrite实现多用户二级域名Blog
使用Apache的rewrite技术
Apache的ReWrite的应用 -PHP5研究室
[原创][非完美]通过域名泛解析+ .htaccess实现会员空间二级域名
轻松实现Apache,Tomcat
用DHTML实现动态表单
Oblog二级域名跳转实现方法[傲博软件官方论坛(OBLOG)]
教你如何在IIS下安装rewrite
Apache-Tomcat的整合操作的英文介绍--用mod_jk2.so实现
详解MySQL+Apache集群模式的实现
Aspectwerkz动态实现AOP
Mod rewrite
URL rewrite
用VC实现动态改变Windows的显示特性
Windows下Apache 80端口被占用的解决方法 - PHPDIY开源技术
在Windows2000ADV下配置Apache+PHP5+MySql5
Linux下jsp环境:apache,tomcat配置
linux下安装apache与php
Windows环境下的tomcat + apache配置