apache 二级域名解析实现方法_Linux

复制代码 代码如下:

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

时间: 2024-10-26 20:54:43

apache 二级域名解析实现方法_Linux的相关文章

Apache二级域名配置方法

Apache二级域名实现方法介绍 首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com 其次,在 httpd.conf 中打开 mod_rewrite 之后,在 httpd.conf 的最后,添加以下内容:RewriteEngine on RewriteMap lowercase int:tolower RewriteMap vhost txt:/usr/local/etc/apache/vhost.map RewriteCond ${lowercase:%{SERVER_NA

Apache本地二级域名配置方法_Linux

本文讲述了Apache本地二级域名配置方法.分享给大家供大家参考,具体如下: 我们在本地调试web程序时,常有很多不同的项目.不同的项目,我们希望使用不同的文件夹和不同的域名. 比如今天我正在建设一个鲜花网站,可是有个客户临时要做一个简单的卖眼镜的网站,两个网站在电脑上放在不同的目录下,而且要使用两个不同的域名来访问.一个是flower.domain.com,一个是glass.domain.com. 通常情况下,我们应该这么做: 1.在本地hosts文件中,将flower.domain.com指

apache 二级域名解析 (window与linux)_Linux

winxp os: c:/windows/system32/drivers/etc/hosts add a line like : 127.0.0.1 hangzhou.localhost 127.0.0.1 xihu.localhost linux os: 首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com 其次,在 httpd.conf 中打开 mod_rewrite 之后,在 httpd.conf 的最后,添加以下内容: 复制代码 代码如下: RewriteEngine

Apache 二级域名实现方法介绍_Linux

其次,在 httpd.conf 中打开mod_rewrite之后,在httpd.conf 的最后,添加以下内容: RewriteEngine on RewriteMap lowercase int:tolower RewriteMap vhost txt:/usr/local/etc/apache/vhost.map RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$ RewriteCond ${vhost:%1} ^(/.*)$ RewriteRule

apache虚拟主机中设置泛域名解析的方法_Linux

1.支持多域名 例如,让mail.jbxue.org.smtp.jbxue.org.pop3.jbxue.org 都指向同一个虚拟主机,可以写成: 复制代码 代码如下: ServerName mail.jbxue.orgServerAlias smtp.jbxue.org pop3.jbxue.org ServerName 用于指定首选域名,其他的域名用ServerAlias指定,并用空格区分即可. 2.支持泛域名解析ServerAlias 可支持扩展符,例如,我们希望 xx.a.com 下的所

最简单快速的Apache二级域名实现方法介绍

首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com 其次,在 httpd.conf 中打开 mod_rewrite 之后,在 httpd.conf 的最后,添加以下内容: RewriteEngine onRewriteMap lowercase int:tolowerRewriteMap vhost txt:/usr/local/etc/apache/vhost.mapRewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$RewriteC

关于apache 二级域名解析疑问

问题描述 由于项目业务需要,要做域名泛解析,及每个用户有自己的一个主页.在项目中的地址是userIndex_id.html将项目部署到apahce上,地址是bb.com(本地解析).现在希望实现的效果是1.bb.com是访问的个人主页对apache做了如下配置:RewriteEngineOnRewriteLog"logs/rewrite.log"RewriteLogLevel9RewriteCond%{HTTP_HOST}^d+.bb.comRewriteRule^/(.*)$/%{H

httpd.conf 二级域名设置方法_Linux

之后,在 httpd.conf 的最后,添加以下内容: 复制代码 代码如下: 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 其中的

通过配置.htaccess文件实现子目录绑定二级域名的方法_Linux

使用LINUX共享主机,控制面版是CPANEL的朋友都知道,他默认绑定主域名的根目录为public_html 所以如果想要放域名yourdomain.com能直接访问,势必需要把所有文件全直接放进public_html下.这时候如果你想再建个子站,bbs.yourdomain.com,这时BBS目录就和其他php文件或主站的文件夹混在一起,很不利于管理. 一般LINUX主机都支持.htaccess文件,所以我们可以通过.htaccess文件来实现转向 以下以blog目录和blog.shuxion