ASP实现同一虚拟主机空间安放多个网站的方法
2010-03-17 11:04
302 查看
ASP实现同一虚拟主机空间安放多个网站的方法
现在的域名很便宜,不少朋友手里多少都有几个,如果您想用手中的几个域名做多个网站的话,并不用同时购买多个虚拟主机,您只要先将您所有的域名绑定到您的虚拟主机上,然后将虚拟主机根目录中的index.asp(首页文件)里加入下列代码就可以了:
<%
sn=lcase(Request.ServerVariables("SERVER_NAME")) '用于获取用户是通过哪个域名访问的,并转换成小写
if sn="www.zhongxun.net" or sn=" zhongxun.net" then server.Transfer("default1.asp")
if sn="www.37dns.com" or sn="37dns.com" then server.Transfer("index.html")
%>
看明白了吧,如果访问者输入的域名是www.zhongxun.net或zhongxun.net的话,就访问default1.asp页面,如果是用37dns.com或www.37dns.net 的话就调用index.html文件。
网上还有一些教程是让您用response.redirect来实现转向,但在这里,我建议您使用server.Transfer("")来实现这个功能,好处有以下几个方面:
1、不会出现页面跳转,直接输入网址后,网址后不会带任何文件,访问者不会看出你的两个网站是放在同一虚拟主机上。
2、server.Transfer("")不会阻挡搜索引擎对你的网站的收录,而response.redirect可不一定。
=========================================================================
=========================================================================
如果一个空间放多个网站,一般是在域名解析里面使用URL转发,但是这样会在输入域名后,地址栏上面显示A记录域名的地址。
例如:www.cunyu.cn 已做A记录绑定空间,如果我将www.k2climb.cn做URL转发到下面地址http://www.cunyu.cn/k2climb,在浏览器地址栏输入www.k2climb.cn就会跳转到www.cunyu.cn/k2climb这个地址。
下面这个方法可以实现多个域名共用一个空间,而看上去象是都做了A记录,值得推荐。
用server.Transfer("")来实现一个空间多个站的方法:
您先将您所有的域名绑定到您的虚拟主机上(请酌情考虑,本人使用的万网域名支持10条A记录绑定,超出会收取费用),然后将虚拟主机根目录中的index.asp(首页文件)里加入下列代码就可以了:
<%
sn=lcase(Request.ServerVariables("SERVER_NAME")) '用于获取用户是通过哪个域名访问的,并转换成小写
if sn="www.cunyu.cn" or sn="cunyu.cn" then server.Transfer("index1.asp")
if sn="www.k2climb.cn" or sn="k2climb.cn" then server.Transfer("index2.asp")
%>
如果访问者输入的域名是www.cunyu.cn 或cunyu.cn的话,就访问index1.asp,如果是用www.k2climb.cn或k2climb.cn的话,就访问index2.asp。
网上还有一些教程是让您用response.redirect来实现转向,但在这里,我建议您使用server.Transfer("")来实现这个功能,好处有以下几个方面:
1、不会出现页面跳转,直接输入网址后,网址后不会带任何文件,访问者不会看出您的多个网站是放在同一虚拟主机上。
2、server.Transfer("")不会阻挡搜索引擎对您的网站收录,而response.redirect可不一定。
缺点:1、对目录访问存在局限性,比如指向某一个目录的某个文件server.Transfer("index2.asp")时,要求文件中的图片等资源的路径必须为绝对的,相对的会不显示。
2、如果被转向的文件有超链接,链接地址也要从根目录做起,个人认为对不太适用于大量域名的情况,而适用于单页面的情况。(此方法确实能达到隐藏域名、不影响收录的效果)
第二方法
在同一个虚拟空间内放置2个不同的站点,并同时可使用2个域名访问各自的站点,方法如下:
1、首先确保空间支持asp,开通虚拟空间时要求空间商绑定2个域名到空间,如有FTP控制面板可自行添加域名的话那是最好;
2、在空间根目录分别开2个文件夹如aa和bb,用于放置2个不同的站点;
3、将以下代码建立index.asp文件,上传至空间根目录即可。
程序代码
<%if Request.ServerVariables("SERVER_NAME")="aa.com" then '第一个输入的网址
response.redirect "aa/index.htm" '将它转发到相应的文件夹
else%>
<%end if%>
<%if Request.ServerVariables("SERVER_NAME")="www.aa.com" then
response.redirect "aa/index.htm"
else%>
<%end if%>
<%if Request.ServerVariables("SERVER_NAME")="bb.com" then '第二个输入的网址
response.redirect "bb/index.htm" '将它转发到相应的文件夹
else%>
<%end if%>
<%if Request.ServerVariables("SERVER_NAME")="www.bb.com" then
response.redirect "bb/index.htm"
else%>
<%end if%>
070625补充:
刚才逛到黑木芽的博客,看到一篇《一个空间帮定双域名的方法总结》,内有更多种实现一空间双域名的方法,便收集来,以后有用时看看...
方法一
<%if Request.ServerVariables("SERVER_NAME")=www.aiweb.cn then
response.redirect "aiweb/"
else%>
<%end if%>
<%if Request.ServerVariables("SERVER_NAME")=http://www.yangchun.org then
response.redirect "yangchun/"
else%>
<%end if%>
这样就跳转了两个不同的目录……理论上可以无限绑定域名跳转。
(2)一个简单的域名自动转向源代码
<%
if Request.ServerVariables("SERVER_NAME")=www.aiweb.cn then
response.redirect "aiweb/index.asp"
else
response.redirect "websites/"
end if
%>
此ASP代码功能是当两个域名指向同一个主机时,可以自动重定向到相应的域名网站
方法二
<% ’ASP代码起始标识
'取得HTTP输入的值并付值到HTOST中
host=lcase(request.servervariables("HTTP_HOST"))
'开始条件跳转
Select CASE host
' 如果HOST的值是www.czboai.com就选择事件case"www.czboai.com"的命令
CASE "www.czboai.com"
' response.redirect 是URL转跳代码。
response.redirect "czboai/"
CASE "www.i2345.com"
response.redirect "i2345/"
END Select
%>
以上代码保存在虚拟主机的根文夹,取名为index.asp,远程访问www.czboai.com和www.i2345.com时,首先访问的是index.asp这个文件,然后再经过判断进行各自网站。
方法三
<%
host=lcase(request.servervariables("HTTP_HOST")) '取得HTTP输入的值并付值到HTOST中
select CASE host '开始条件跳转
CASE "blog.siyizhu.com" '如果HOST的值是 blog.siyizhu.com 就选择事件case"blog.siyizhu.com"的命令
response.redirect "/blog/" ' 转到指定的music目录
CASE "siyizhu.com/temp/time.htm" '如果HOST的值是 blog.siyizhu.com 就选择事件case"siyizhu.com/temp/time.htm"的命令
response.redirect "temp/time.htm" ' 转到指定的temp/time.htm文件
CASE ELSE '如果不在上述特定范围
response.redirect "/bbs/" '转到bbs目录
END select
%>
具体做法:
转向的域名需要先绑定到空间的IP,要转几个就要绑几个.
假设你的空间默认首页为INDEX.ASP,将代码添加到INDEX.ASP文件的头部.
上传就OK了
方法四
在虚拟主机的空间越来越大了,一般的情况下,一个网站是用不完的(软件、电影下载类不在其列)。
那么,怎样让已有的空间超值使用呢?请按以下步骤操作:
第一步:创建转向控制页面
创建网站默认的首页文件(通常为"index.asp"或"default.asp")如下:
<%
select case request.servervariables("http_host")
case "www.abc1.com" '域名1
Server.Transfer("index_abc1.asp")
case "www.abc2.com" '域名2
Server.Transfer("index_abc2.asp")
case "www.abc3.com" '域名3
Server.Transfer("index_abc3.asp")
'...... 继续添加 ......
case else '域名N
Server.Transfer("index_abcN.asp")
end select
%>
第二步:创建相应的被转向文件
创建"index_abc0.asp"—"index_abcN.asp",作为各个网站的首页。
第三步:将多个域名的IP地址解析到同一个网站空间
例如:将"www.abc1.com"—"www.abcN.com"的IP地址全部解析到"www.abc1.com"的WEB空间上。
第四步:设置网站的WEB服务
设置WEB服务的别名为:"www.abc1.com www.abc2.com www.abc3.com ...... www.abcN.com"(注意:别名之前用一个空格分开)
呵呵,现在你就可以使用象、……、""这类顶级的网址来访问同一个WEB空间,而得到各不相同的首页面了。
立即节省了"N-1"个空间的费用,是不是很爽呀
方法五
对于专于注册域名的人来说,空间变得更显可贵,但不可能每个域名都注册一个空间吧,下来说说一个空间绑定多个域名,各个域名互不干扰的方法。
首先要做的,当然是将各个域名解析到空间的IP上来,然后在空间控制面板上绑定这些域名,设置默认首页为index.asp,下来来看代码。
<%
'首先获得当前访问的是什么域名
domainname=Request.ServerVariables("SERVER_NAME")'Request.ServerVariables("HTTP_REFERER")
'分析域名,并转向指定页面
if instr(domainname,"www.im286.com") then
'此方法适用于绑定域名,将之前的论坛首页改成wwwindex.asp,如果域名是www.im286.com,则会引入之前的首页
%>
<!--#include file="wwwindex.asp"-->
<%
elseif instr(domainname,"domain.im286.com") then
'URL转向,此方法适用于URL转向,不隐藏真实URL
response.redirect “”
elseif instr(domainname,"pr.im286.com")then
'URL转向,此方法适用于URL转向,隐藏真实URL,可
%>
<html><head><title>网站名称</title><body>
<iframe src= height="100%" width="100%" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="yes"></iframe>
</body></html>
<%
end if
%>
现在的域名很便宜,不少朋友手里多少都有几个,如果您想用手中的几个域名做多个网站的话,并不用同时购买多个虚拟主机,您只要先将您所有的域名绑定到您的虚拟主机上,然后将虚拟主机根目录中的index.asp(首页文件)里加入下列代码就可以了:
<%
sn=lcase(Request.ServerVariables("SERVER_NAME")) '用于获取用户是通过哪个域名访问的,并转换成小写
if sn="www.zhongxun.net" or sn=" zhongxun.net" then server.Transfer("default1.asp")
if sn="www.37dns.com" or sn="37dns.com" then server.Transfer("index.html")
%>
看明白了吧,如果访问者输入的域名是www.zhongxun.net或zhongxun.net的话,就访问default1.asp页面,如果是用37dns.com或www.37dns.net 的话就调用index.html文件。
网上还有一些教程是让您用response.redirect来实现转向,但在这里,我建议您使用server.Transfer("")来实现这个功能,好处有以下几个方面:
1、不会出现页面跳转,直接输入网址后,网址后不会带任何文件,访问者不会看出你的两个网站是放在同一虚拟主机上。
2、server.Transfer("")不会阻挡搜索引擎对你的网站的收录,而response.redirect可不一定。
=========================================================================
=========================================================================
如果一个空间放多个网站,一般是在域名解析里面使用URL转发,但是这样会在输入域名后,地址栏上面显示A记录域名的地址。
例如:www.cunyu.cn 已做A记录绑定空间,如果我将www.k2climb.cn做URL转发到下面地址http://www.cunyu.cn/k2climb,在浏览器地址栏输入www.k2climb.cn就会跳转到www.cunyu.cn/k2climb这个地址。
下面这个方法可以实现多个域名共用一个空间,而看上去象是都做了A记录,值得推荐。
用server.Transfer("")来实现一个空间多个站的方法:
您先将您所有的域名绑定到您的虚拟主机上(请酌情考虑,本人使用的万网域名支持10条A记录绑定,超出会收取费用),然后将虚拟主机根目录中的index.asp(首页文件)里加入下列代码就可以了:
<%
sn=lcase(Request.ServerVariables("SERVER_NAME")) '用于获取用户是通过哪个域名访问的,并转换成小写
if sn="www.cunyu.cn" or sn="cunyu.cn" then server.Transfer("index1.asp")
if sn="www.k2climb.cn" or sn="k2climb.cn" then server.Transfer("index2.asp")
%>
如果访问者输入的域名是www.cunyu.cn 或cunyu.cn的话,就访问index1.asp,如果是用www.k2climb.cn或k2climb.cn的话,就访问index2.asp。
网上还有一些教程是让您用response.redirect来实现转向,但在这里,我建议您使用server.Transfer("")来实现这个功能,好处有以下几个方面:
1、不会出现页面跳转,直接输入网址后,网址后不会带任何文件,访问者不会看出您的多个网站是放在同一虚拟主机上。
2、server.Transfer("")不会阻挡搜索引擎对您的网站收录,而response.redirect可不一定。
缺点:1、对目录访问存在局限性,比如指向某一个目录的某个文件server.Transfer("index2.asp")时,要求文件中的图片等资源的路径必须为绝对的,相对的会不显示。
2、如果被转向的文件有超链接,链接地址也要从根目录做起,个人认为对不太适用于大量域名的情况,而适用于单页面的情况。(此方法确实能达到隐藏域名、不影响收录的效果)
第二方法
在同一个虚拟空间内放置2个不同的站点,并同时可使用2个域名访问各自的站点,方法如下:
1、首先确保空间支持asp,开通虚拟空间时要求空间商绑定2个域名到空间,如有FTP控制面板可自行添加域名的话那是最好;
2、在空间根目录分别开2个文件夹如aa和bb,用于放置2个不同的站点;
3、将以下代码建立index.asp文件,上传至空间根目录即可。
程序代码
<%if Request.ServerVariables("SERVER_NAME")="aa.com" then '第一个输入的网址
response.redirect "aa/index.htm" '将它转发到相应的文件夹
else%>
<%end if%>
<%if Request.ServerVariables("SERVER_NAME")="www.aa.com" then
response.redirect "aa/index.htm"
else%>
<%end if%>
<%if Request.ServerVariables("SERVER_NAME")="bb.com" then '第二个输入的网址
response.redirect "bb/index.htm" '将它转发到相应的文件夹
else%>
<%end if%>
<%if Request.ServerVariables("SERVER_NAME")="www.bb.com" then
response.redirect "bb/index.htm"
else%>
<%end if%>
070625补充:
刚才逛到黑木芽的博客,看到一篇《一个空间帮定双域名的方法总结》,内有更多种实现一空间双域名的方法,便收集来,以后有用时看看...
方法一
<%if Request.ServerVariables("SERVER_NAME")=www.aiweb.cn then
response.redirect "aiweb/"
else%>
<%end if%>
<%if Request.ServerVariables("SERVER_NAME")=http://www.yangchun.org then
response.redirect "yangchun/"
else%>
<%end if%>
这样就跳转了两个不同的目录……理论上可以无限绑定域名跳转。
(2)一个简单的域名自动转向源代码
<%
if Request.ServerVariables("SERVER_NAME")=www.aiweb.cn then
response.redirect "aiweb/index.asp"
else
response.redirect "websites/"
end if
%>
此ASP代码功能是当两个域名指向同一个主机时,可以自动重定向到相应的域名网站
方法二
<% ’ASP代码起始标识
'取得HTTP输入的值并付值到HTOST中
host=lcase(request.servervariables("HTTP_HOST"))
'开始条件跳转
Select CASE host
' 如果HOST的值是www.czboai.com就选择事件case"www.czboai.com"的命令
CASE "www.czboai.com"
' response.redirect 是URL转跳代码。
response.redirect "czboai/"
CASE "www.i2345.com"
response.redirect "i2345/"
END Select
%>
以上代码保存在虚拟主机的根文夹,取名为index.asp,远程访问www.czboai.com和www.i2345.com时,首先访问的是index.asp这个文件,然后再经过判断进行各自网站。
方法三
<%
host=lcase(request.servervariables("HTTP_HOST")) '取得HTTP输入的值并付值到HTOST中
select CASE host '开始条件跳转
CASE "blog.siyizhu.com" '如果HOST的值是 blog.siyizhu.com 就选择事件case"blog.siyizhu.com"的命令
response.redirect "/blog/" ' 转到指定的music目录
CASE "siyizhu.com/temp/time.htm" '如果HOST的值是 blog.siyizhu.com 就选择事件case"siyizhu.com/temp/time.htm"的命令
response.redirect "temp/time.htm" ' 转到指定的temp/time.htm文件
CASE ELSE '如果不在上述特定范围
response.redirect "/bbs/" '转到bbs目录
END select
%>
具体做法:
转向的域名需要先绑定到空间的IP,要转几个就要绑几个.
假设你的空间默认首页为INDEX.ASP,将代码添加到INDEX.ASP文件的头部.
上传就OK了
方法四
在虚拟主机的空间越来越大了,一般的情况下,一个网站是用不完的(软件、电影下载类不在其列)。
那么,怎样让已有的空间超值使用呢?请按以下步骤操作:
第一步:创建转向控制页面
创建网站默认的首页文件(通常为"index.asp"或"default.asp")如下:
<%
select case request.servervariables("http_host")
case "www.abc1.com" '域名1
Server.Transfer("index_abc1.asp")
case "www.abc2.com" '域名2
Server.Transfer("index_abc2.asp")
case "www.abc3.com" '域名3
Server.Transfer("index_abc3.asp")
'...... 继续添加 ......
case else '域名N
Server.Transfer("index_abcN.asp")
end select
%>
第二步:创建相应的被转向文件
创建"index_abc0.asp"—"index_abcN.asp",作为各个网站的首页。
第三步:将多个域名的IP地址解析到同一个网站空间
例如:将"www.abc1.com"—"www.abcN.com"的IP地址全部解析到"www.abc1.com"的WEB空间上。
第四步:设置网站的WEB服务
设置WEB服务的别名为:"www.abc1.com www.abc2.com www.abc3.com ...... www.abcN.com"(注意:别名之前用一个空格分开)
呵呵,现在你就可以使用象、……、""这类顶级的网址来访问同一个WEB空间,而得到各不相同的首页面了。
立即节省了"N-1"个空间的费用,是不是很爽呀
方法五
对于专于注册域名的人来说,空间变得更显可贵,但不可能每个域名都注册一个空间吧,下来说说一个空间绑定多个域名,各个域名互不干扰的方法。
首先要做的,当然是将各个域名解析到空间的IP上来,然后在空间控制面板上绑定这些域名,设置默认首页为index.asp,下来来看代码。
<%
'首先获得当前访问的是什么域名
domainname=Request.ServerVariables("SERVER_NAME")'Request.ServerVariables("HTTP_REFERER")
'分析域名,并转向指定页面
if instr(domainname,"www.im286.com") then
'此方法适用于绑定域名,将之前的论坛首页改成wwwindex.asp,如果域名是www.im286.com,则会引入之前的首页
%>
<!--#include file="wwwindex.asp"-->
<%
elseif instr(domainname,"domain.im286.com") then
'URL转向,此方法适用于URL转向,不隐藏真实URL
response.redirect “”
elseif instr(domainname,"pr.im286.com")then
'URL转向,此方法适用于URL转向,隐藏真实URL,可
%>
<html><head><title>网站名称</title><body>
<iframe src= height="100%" width="100%" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="yes"></iframe>
</body></html>
<%
end if
%>
相关文章推荐
- ASP.net中实现网站访问量统计的方法
- ASP网站程序自动升级实现的方法
- ASP.NET多频道网站架构实现方法
- ASP.NET多频道网站架构实现方法
- ASP.NET多频道网站架构实现方法
- ASP.NET多频道网站架构实现方法
- ASP网站程序自动升级实现的方法
- ASP.NET多频道网站架构实现方法
- ASP.NET实现多域名多网站共享Session值的方法
- asp.net实现网站上传下载功能的几种方法
- ASP和PHP实现生成网站快捷方式并下载到桌面的方法
- ASP.NET多频道网站架构实现方法
- ASP和PHP实现生成网站快捷方式并下载到桌面的方法
- 多频道网站架构实现方法 (asp.net C#)
- 解析网站301重定向的实现方法,包括iis,apache,asp,php的方法
- ASP.NET多频道网站架构实现方法-.Net编程教程
- ASP.NET MVC环境下实现一个网站多个网站模板的方法
- ASP.NET多频道网站架构实现方法
- asp.net多频道网站架构实现方法
- asp.net多频道网站架构实现方法