JavaScript跳转法
- 绑定域名:在空间上分别绑定两个不同的域名,比如www.aaa.com和www.bbb.com。
- 上传网站文件:把www.aaa.com的网站文件传到空间的根目录,将www.bbb.com的网站文件传到“./bbb/”目录。
- 创建并上传JS文件:把下面这段代码保存为domain.js,然后上传到空间根目录。
switch(location.host){ case 'www.bbb.com': location.href="http://www.bbb.com/bbb/"; break; }
- 修改首页代码:往空间根目录的首页的
<head>
与</head>
之间加入<script language='javascript' src='domain.js'></script>
。 - 测试访问:当输入www.aaa.com访问时不会看到明显变化,但输入www.bbb.com访问时,浏览器会自动跳转到www.bbb.com/bbb/,以此实现同一个空间安装两个网站的效果,若需实现更多网站,可依此类推进行设置。
Server.Transfer方法(推荐)
- 绑定所有域名:先将计划使用的多个域名都绑定到您的虚拟主机上。
- 修改首页ASP文件:将虚拟主机根目录中的index.asp(首页文件)里加入相应代码。
<% sn=lcase(Request.ServerVariables("SERVER_NAME")) '用于获取用户是通过哪个域名访问的,并转换成小写 if sn="www.abc.net" or sn="yuxicn.net" then server.Transfer("default1.asp") if sn="www.def.net" or sn="zxks.net" then server.Transfer("index.html") %>
- 效果说明:如果访问者输入的域名是www.abc.net或abc.net,就会访问default1.asp页面;如果是用def.net或www.def.net,则会调用index.html文件,此方法的好处一是不会出现页面跳转,直接输入网址后,网址后不会带任何文件,访问者难以察觉这两个网站是放在同一虚拟主机上;二是不会阻挡搜索引擎对网站的收录,而使用response.redirect则不一定能有同样的效果。
利用ASP文件判定域名跳转法(方便管理)
- 建立默认主页:先创建一个默认主页index.asp。
- 规划站点文件夹:把A站放在A文件夹下,B站放在B文件夹下,C站放在C文件夹下等。
- 编写跳转代码:在index.asp网页文件中写入如下代码:
<%if Request.ServerVariables("SERVER_NAME")="www.a.com " then response.redirect "a/index.asp" elseif Request.ServerVariables("SERVER_NAME")="www.b.com " then response.redirect "b/index.asp" elseif Request.ServerVariables("SERVER_NAME")="www.c.com " then response.redirect "c/index.asp" else response.redirect "aaa/index.asp" end if%>
- 代码作用解释:如果用户访问www.a.com,程序会跳转至空间目录下的a/index.asp;访问www.b.com则跳转至b/index.asp;访问www.c.com跳转至c/index.asp;若访问未指定的域名,就跳转至aaa/index.asp,这种方法便于管理大量网站,只要把域名都绑定在虚拟主机上,并根据需要设置对应的跳转规则即可,不过其缺点是打开如abc.com时,在浏览器中看到的可能是abc.com/b这样的路径,因为站点实际位于b目录下。
PHP实现方法(适用于支持PHP的空间)
- 解析域名到空间:将需要的两个域名解析到同一个网站空间,例如www.com和www..cn。
- 设置默认文档:把默认文档设置为index.php,前提是空间必须支持PHP。
- 编写判断逻辑代码:利用PHP中的$_SERVER['HTTP_HOST']变量来判断来访地址,并进行相应的处理,示例代码如下:
<?php if($_SERVER['HTTP_HOST']=="www.123.com"){ ?> <META HTTP-EQUIV="Refresh" CONTENT="1;URL=http://www.123.com/main"> <?php }else if($_SERVER['HTTP_HOST']=="mycalf.com"){ ?> <META HTTP-EQUIV="Refresh" CONTENT="1;URL=http://123.com/main"> <?php }else if($_SERVER['HTTP_HOST']=="www.456.cn"){ ?> <META HTTP-EQUIV="Refresh..." > <?php } ?>
子目录方式(简单直接)
- 创建子文件夹:在空间根目录下新建一个文件夹,比如vip。
- 上传新程序:将新的建站程序上传到该子文件夹中,从而建立另外一个网站,此时网站的网址形式为www.xuewangzhan.net/vip(假设主域名是www.xuewangzhan.net),需要注意的是,如果主网站与子文件夹中的网站使用的是同一个程序,例如都是wordpress,那么在配置数据库信息时,数据库的表前缀必须不同,比如主网站的表前缀是wp,那么vip文件夹下做的网站的数据表前缀可以写成wp2。
方法名称 | 优点 | 缺点 | 适用场景 |
---|---|---|---|
JavaScript跳转法 | 实现简单,适合初学者;无需复杂配置 | 可能会有短暂的跳转延迟;部分浏览器可能不支持或阻止脚本执行 | 小型个人网站或测试环境 |
Server.Transfer方法 | 无页面跳转,用户体验好;不影响搜索引擎收录 | 仅适用于ASP环境;需要一定的编程基础 | 中小型企业网站,对SEO有一定要求的站点 |
利用ASP文件判定域名跳转法 | 便于集中管理多个站点;灵活性高 | 路径显示不美观(带子目录名);需要维护大量的重定向规则 | 多站点管理,尤其是同一台服务器上有多个关联性强的网站 |
PHP实现方法 | 功能强大,支持动态内容生成;可扩展性强 | 依赖PHP环境;代码相对复杂 | 动态网站开发,需要处理复杂业务逻辑的场景 |
子目录方式 | 操作简单,易于理解;无需额外配置 | URL结构不够简洁;可能存在样式冲突等问题 | 临时搭建第二个网站,或者作为主网站的补充页面 |
相关问答FAQs
Q1: 使用这些方法是否会影响网站的SEO效果?
A: 像Server.Transfer方法不会影响搜索引擎收录,而response.redirect则不一定,其他方法如JavaScript跳转法和利用ASP文件判定域名跳转法等,只要合理设置,也基本不会对SEO产生负面影响,但建议尽量保持URL结构的清晰和简洁,避免过多的重定向和复杂的路径,这样更有利于搜索引擎爬虫抓取和索引页面。

Q2: 如果虚拟主机不支持子目录绑定怎么办?
A: 如果虚拟主机不支持子目录绑定,可以考虑使用上述提到的JavaScript跳转法、Server.Transfer方法或利用ASP文件判定域名跳转法来实现一个空间放置多个网站,利用ASP文件判定域名跳转法在这种情况下是非常有效的办法,它通过浏览器输入的域名来判断要打开哪个文件夹里的站点,从而实现虚拟放置多个站点的功能
