scribble

守望的麦子

About Projects Tool Guestbook

14 Oct 2007
ASP实现域名绑定子目录

A.动态页面

如果空间提供商不能(免费)提供主机N级目录绑定域名,那么就可以用到下面这段ASP代码,用Server.Transfer方法以实现(模拟)域名绑定子目录。

第一步:创建转向控制页面
  创建网站默认的首页文件(通常为”index.asp”或”default.asp”)如下:

[code]<% select case request.servervariables(“http_host”) case WWW.AT-BLOG.COM ’域名1 Server.Transfer(“index.asp”) case “BLOG.AT-BLOG.COM” ’域名2 Server.Transfer(“blog/index.asp”) case “BBS.AT-BLOG.COM” ’域名3 Server.Transfer(“BBS/index.asp”) ‘…… 继续添加 …… case else ’域名N Server.Transfer(“XXX/index.asp”) end select %>
[/code]
第二步:创建相应的被转向文件
  创建”blog/index.asp”……“XXX/index.asp”,作为各个子目录网站的首页。

第三步:将多个域名的IP地址解析到同一个网站空间
  例如:将”WWW.AT-BLOG.COM”……“BBS.AT-BLOG.COM “ 等等的IP地址全部解析到WWW.AT-BLOG.COM 的WEB根目录所在的空间上。

第四步:把你要添加的域名绑定到空间上。

下面是 Response.Redirect 和 Server.Transfer 的区别:

[quote]执行过程:

1、浏览器ASP文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器->浏览器请求执行新的地址

2、浏览器ASP文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件

切换对象:

1、Response.Redirect可以切换到任何存在的网页。

2、Server.Transfer只能切换到同目录或者子目录的网页。

数据保密:

1、Response.Redirect后地址会变成跳转后的页面地址。

2、Server.Transfer后地址不变,隐藏了新网页的地址及附带在地址后边的参数值。具有数据保密功能。

传递的数据量(网址后附带的参数):

1、Response.Redirect能够传递的数据以2KB为限。

2、传递的数据超过2KB时,务必使用Server.Transfer。
[/quote]
需要注意的是,用这种方法模拟绑定域名之后,绑定的页面中的超链接默认情况下没法正常连接到你想要的页面。比如该目录的index文件模拟绑定的是1.com,那么index中的链接(相对路径)/pro.html是不生效的。所链接到的所有页面都需要包含模拟绑定文件,或重新做模拟绑定,或使用原始URL。

B.静态页面

js实现一个空间安装多个网站的方法

1、在空间上分别绑定 www.aaa.com 和 www.bbb.com

2、把 www.aaa.com 网站文件传到根目录,把 www.bbb.com 网站传到 ./bbb/ 目录

3、 把下面的代码保存为 domain.js ,然后上传到空间根目录
以下是代码片段:

[code]switch(location.host){

case ’www.bbb.com’:

location.href=”http://www.bbb.com/bbb/”

break;

}[/code]
4、往空间根目录的首页的 之间加入

5、当你输入 www.aaa.com 访问时看不到任何变化,但是当你输入 www.bbb.com 访问时,浏览器自动跳转到 www.bbb.com/bbb/ 。 这样便实现了同一个空间安装2个网站了,要实现多个网站可以依此类推。

Til next time,
Jason at 00:00

scribble

About Projects Tool Guestbook