apache 二级域名解析实现方法

admin3年前服务器84

复制代码 代码如下:


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
内容为:

复制代码 代码如下:


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


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

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

这样,通过浏览器,访问 domain 时,实际上访问的就是 /usr/local/www/data-dist/domain目录下的文件。同理,访问 bbs.domain 实际上访问的就是 /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文件是域名和空间映像的文件,格式如下: 
abc/vhostusr/abc
xyz/vhostuser/xyz
cccbbbbs/vhostuser/ccbbbb
第三步:保存配置文件,重启apache。在开设可绑定域名的空间时,只要在vhost.map文件里添加相应记录,并建立相应文件夹就OK了~~~
其实这个可以用php脚本来完成的,很简单的~~呵呵~~~
注意啊:php_admin_value open_basedir “path,这个选项要配好啊~~新手如果不懂的,就不要动这个了~
==============================================
方法二、

复制代码 代码如下:


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


其他配置文件

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

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

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

云服务器如何域名解析(云服务器如何域名解析异常)

云服务器如何域名解析及云服务器如何域名解析异常随着互联网的发展,越来越多的企业和个人选择使用云服务器来托管自己的网站或应用程序。本文将介绍云服务器如何进行域名解析以及可能出现的域名解析异常情况。DNS...

域名解析错误怎么办

域名解析错误解决的方法:1、检查网站域名设置是否错误,如果是设置回相应的参数即可;2、检查网站空间是否有问题,需要分析网站空间的质量;3、检查是否存在病毒攻击,如果是要加大对服务器空间的病毒查杀力度;...

虚拟主机域名解析多久生效

虚拟主机域名解析的生效时间:域名做好解析后,并不能立即访问到网站,因为域名解析需要一定的时间生效,一般为24小时以内,根据各地的dns服务器刷新时间不同,各地的大概时间范围为0-24小时即可生效。具体...

轻云服务器或虚拟主机站点域名解析不正确的分析与解决方法

已经在轻云服务器或虚拟主机上传了程序文件,而且已经设置了域名解析,但是在访问域名时,遇到了错误提示如下图所示:请参考如下步骤解决此问题:1.请检查设置域名解析。 如果您的域名是在万网购买的,请参考下图...

域名解析出问题如何处理

域名解析出问题的处理方法:1、检查网站域名解析时,域名是否设置正确;2、网络不稳定时会导致域名解析不成功,因此需要检查网站空间是否存在故障问题;3、注册商一般都是用自身服务器进行域名解析的,因此需要检...

域名解析必须要实名认证吗(域名解析必须要实名认证吗安全吗)

本文将从实名认证的必要性和安全性两个方面来探讨这个问题。这是因为实名认证可以有效地保护用户的合法权益,防止恶意使用域名解析服务的行为。通过实名认证,可以确保用户身份真实可靠,避免出现虚假身份注册、盗用...