apache 二级域名解析实现方法

时间:2023-08-20 18:06:31 


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 服务器配置文件所在路径,根据实际情况更改。
然后,在这个所在路径的目录下创建一个文件: vhost.map
内容为:


www.domain.com /usr/local/www/data-dist/domain
bbs.domain.com /usr/local/www/data-dist/bbs
anyname.domain.com /usr/local/www/data-dist/anyname


以上部分都是:” 域名+空格+绝对路径” 的形式。

最后,在你的网站根目录 /usr/local/www/data-dist 下,创建对应目录:
domain , bbs , anyname 等等,理论上可以无限。

这样,通过浏览器,访问 www.domain.com 时,实际上访问的就是 /usr/local/www/data-dist/domain目录下的文件。同理,访问 bbs.domain.com 实际上访问的就是 /usr/local/www/data-dist/bbs 目录下的文件。而且,你可以
随时更改 vhost.map 来增加、删除、修改你的二级域名和所指向的实际路径,不用重启 apache。

第一步:打开apache的配置文件httpd.conf,去掉LoadModule rewrite_module modules/mod_rewrite.so前面的#号。
第二步:打配置文件尾部加上
RewriteEngine on
RewriteMap lowercase int:tolower
#定义映像文件
RewriteMap vhost txt:/apache/vhost/vhost.map
#处理变名
RewriteCond %{REQUEST_URI} !^/icons/
RewriteCond %{REQUEST_URI} !^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
这里做基于文件的重新映射
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1
RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/cgi-bin/$1

注意:vhost.map文件是域名和空间映像的文件,格式如下:
http://www.abc.com/vhostusr/www.abc.com
http://www.xyz.com/vhostuser/www.xyz.com
http://www.cccbbbbs.net/vhostuser/www.ccbbbb.net
第三步:保存配置文件,重启apache。在开设可绑定域名的空间时,只要在vhost.map文件里添加相应记录,并建立相应文件夹就OK了~~~
其实这个可以用php脚本来完成的,很简单的~~呵呵~~~
注意啊:php_admin_value open_basedir “path,这个选项要配好啊~~新手如果不懂的,就不要动这个了~
==============================================
方法二、


rewriteengine on
rewritecond %{HTTP_HOST} [^.]+\.域名\.com$
rewriterule ^(.+) %{HTTP_HOST}$1 [C]
rewriterule ([^.]+)\.域名\.com(.*) /$1$2


其他配置文件

接着在DNS中开设一个泛解析到对应的IP地址。
就可以实现下面的方案。

域名:domain.com
绝对路径:/home/domain.com/
www.domain.com 自动解析到 /home/domain.com/www/
abc.domain.com 自动解析到 /home/domain.com/abc/
等等子域名都可以自动解析到 /home/domains.com/对应子域名名称的文件夹
直接建立子域名名称的文件夹即可使用。不需重启apache。/vhostuser/www.ccbbbb.net/vhostuser/www.xyz.com/vhostusr/www.abc.com

标签:apache,二级域名
0
投稿

猜你喜欢

  • typecho首页和内容页的Title分别定义

    2010-03-24 12:10:00
  • 通过docker容器搭建lamp架构的流程

    2022-10-03 01:05:33
  • 个人网站 采集不是长久之计

    2007-09-29 13:05:00
  • Google--PageRank(网页级别)技术解密

    2008-06-11 12:24:00
  • 事半功倍做营销:“转化率”再优化

    2009-03-16 09:39:00
  • linux共享上网设置实例详解

    2023-10-09 23:01:07
  • 更换WordPress模板前应该注意的24个问题

    2011-07-27 18:16:04
  • 微软证实Win 7上网本安装工具包含开源代码

    2009-11-14 09:58:00
  • 个人服务器架设其实很简单

    2010-08-23 18:49:00
  • 流量的概念

    2007-09-17 17:49:00
  • VMwarea虚拟机安装win7操作系统的教程图解

    2022-11-05 21:12:47
  • 安装Exchange 2000实现随时随地的通讯

    2010-02-21 18:43:00
  • 管理员必读:防御DDOS攻击终极指南

    2009-12-08 14:19:00
  • 使用 Adobe AIR 管理 WordPress 评论

    2008-10-26 17:45:00
  • 解析Discuz! 7.1新功能:添加到任务栏

    2009-10-29 11:19:00
  • BSD上Apache性能的调整

    2010-05-11 18:17:00
  • 问答式了解创建google Sitemaps的注意事项

    2009-01-20 08:57:00
  • Linux下网站项目发布要做哪些配置

    2010-01-25 12:13:00
  • 系统技巧:给Windows目录加口令的特殊方法

    2007-05-15 15:37:00
  • 最原始的东西最有价值 致天下所有创业者

    2008-12-01 13:09:00
  • asp之家 网站运营 m.aspxhome.com