以前收集的一些资料---使用ASP的错误陷阱实现网站虚拟目录功能

错误|虚拟目录

                使用ASP的错误陷阱实现网站虚拟目录功能
    我想大家一定都看见过在很多提供个人主页的网站上有这个虚拟目录功能。
就是http://xxx.xxx.xxx/~Batman就会连接到我的主页上(假设我有这个主页,呵呵)
    那么我们怎么使用纯粹的ASP技术来实现这个功能了,例如在chinaasp上如果
联接是http://www.chinaasp.com/~Batman就会自动连接到与Batman有关的个人信息上呢?
    下面将介绍一种使用ASP的错误陷阱技术:
    在IIS中大家都知道有一个自定义出错处理功能,我以前也介绍过好几次的。
从IIS控制管理器选中Default Web Site然后单击右键,选择属性,再选择自定义
错误,然后单击编辑。。按钮等等。。
    好了。现在将HTTP 404 error这个错误重新自定义为使用AspErr.Asp这个文件
当然这个文件的代码就在下面罗。
文件AspErr.Asp代码如下:
<%
   strTarget = Request.ServerVariables("QUERY_STRING")
   ' *** 看是否调用的虚拟目录格式即开头是否有“~”字符
   if instr(strTarget, "~") then    
       ' *** 字符处理,去掉字符串中的“~”和“.ASP”
      strAlias = trim(right(strTarget, len(strTarget) - instr(strTarget, "~")))
      strAlias = LCase(replace(UCase(strAlias), ".ASP", ""))
      if trim(strAlias) <> "" then
         ' *** 查询是否存在这个用户名(即虚拟目录)
         Set recTemp = Server.CreateObject("ADODB.RecordSet")
         recTemp.Source = "select user_id, list_type from users where alias_file = '" & Replace(strAlias, "'", "''") & "'")
         recTemp.ActiveConnection = conDB
         recTemp.Open
         ' *** 查询个人信息,并显示他的信息,我暂且借用飞鸟大哥写的
         'myinfo.asp文件,可不要敲我哦,呵呵
         if not (recTemp.BOF and recTemp.EOF) then
            strRedir = "myinfo.asp?user_id=" & Server.URLEncode(trim(recTemp("User_ID")))
            recTemp.Close
            Set recTemp = Nothing
            Response.Redirect strRedir
          end if
         recTemp.Close
         Set recTemp = Nothing
   end if
end if
' *** 如果找不着对应用户名的虚拟目录的话,就显示错误呀
Response.Status = "404 Not Found"  
%>
<html>
<head><title>404 Not Found</title></head>
<body>
404 Not Found
</body>
</html>

时间: 2024-12-27 05:25:24

以前收集的一些资料---使用ASP的错误陷阱实现网站虚拟目录功能的相关文章

以前收集的一些资料---使用ASP方便的建立自己网站的每日更新

使用ASP方便的建立自己网站的每日更新每日更新是什么东东我想大家也都应该知道把,其实有点象现在很多新闻网站的更新,下面介绍如何让你的网站的内容每天自动更新下面的代码适用于:1.使用任何ODBC兼容的数据库2.很方便的插入到你现有的ASP程序中如何保存更新内容呢?数据库结构:(一共三个字段)QuoteID(Long ),Quote(String ),Author(String) 下面一个技巧是如何让更新显示在任意一个页面上呢?我们只要把更新内容和作者当返回值送给调用的页面即可.代码如下,其中log

以前收集的一些资料---使用ASP加密算法加密你的数据(二)

加密|数据|算法          以前收集的一些资料---使用ASP加密算法加密你的数据(二)Julain Sitkewich在第一部分,讨论了如何生成密钥,下面将介绍如何使用这个密钥来加密和解密一个字符串.下面的代码就是能够同时实现这个功能的函数Crypt.asp文件<% Dim g_Key Const g_CryptThis = "Now is the time for all good men to come to the aid of their country."Co

ASP.NET对IIS中的虚拟目录进行操作

asp.net|iis|虚拟目录 ASP.NET对IIS中的虚拟目录进行操作 //假如虚拟目录名为"Webtest",先在项目中引用 //System.DirectoryServices.dll,再 using System.DirectoryServices; protected System.DirectoryServices.DirectoryEntry dirroot; 1.添加新的虚拟目录 DirectoryEntry newVirDir = dirroot.Children

ASP.NET操作IIS中的虚拟目录

asp.net|iis|虚拟目录     在做系统开发的过程中,我们经常会遇到用asp.net来操作IIS,如新建虚拟目录.更改虚拟目录的属性.删除虚拟目录等操作,现在分析如下://假如虚拟目录名为"Webtest",先在项目中引用 //System.DirectoryServices.dll,再 using System.DirectoryServices; protected System.DirectoryServices.DirectoryEntry dirroot; 1.添加

用ASP.NET对IIS中的虚拟目录进行操作

asp.net|iis|虚拟目录 在做系统开发的过程中,我们经常会遇到用asp.net来操作IIS,如新建虚拟目录.更改虚拟目录的属性.删除虚拟目录等操作,现在分析如下://假如虚拟目录名为"Webtest",先在项目中引用    //System.DirectoryServices.dll using  System.DirectoryServices;  protected  System.DirectoryServices.DirectoryEntry  dirroot;   1

以前收集的一些资料---使用ASP编写农历算法(一)

农历|算法                  使用ASP编写农历算法              新年将近,呵呵,写了一个阴历和阳历的ASP程序,就当给大家的新年贺礼(呵呵,这下蓝先生满意啦把,就当我送给你的圣诞礼物把...)希望大家能够喜欢...大家可以很方便的将这个农历加入到自己的主页中中国人使用中国人自己的日历,呵呵,希望大家以后能够支持Chinaasp的共同进步...一共两个文件cal.asp和cal2.inc(主要是常量的定义)cal.asp代码如下<!--#include virtua

以前收集的一些资料---在ASP中使用MSMQ解决进程死锁问题。

解决|进程|问题             在ASP中使用MSMQ当ASP程序因为某个进程花费了过长的时间而导致在客户端过期时,当访问者已经放弃了对你的网站的访问而离开去了别的网站时.或则你的服务器上阻塞了大量的死队列时,错误"Server is too busy"发生了.当你在设计网站的过程中碰到这些问题时,一个解决办法就是使用Microsoft Message Queue (MSMQ)来结束这些进程. Microsoft Message Queue 的基本介绍:MSMQ (代号又叫&

以前收集的一些资料---使用ASP编写农历算法(二)

农历|算法 不知道大家去过www.renren.com没有,其中的农历其实就可以这样实现的...如果大家自己有兴趣的话,还可以给农历算法填加好多其他的功能...本程序的限制是只能够转换1950年到2050年之间的农历和公历...cal2.inc文件<%    Dim m_minyear    Dim m_maxyear    Dim NongLiDayName    Dim NongLiMonthName        m_minyear        = 1950    m_maxyear  

以前收集的一些资料---使用ASP推出你自己网站的频道

想自己生成自己站点的频道文件吗,看看下面的代码把.这只是个例子而已,但我想你完全可以根据它来建立你自己的频道.以后只要用户下载该.cdf文件,用户就能够订阅你的站点的频道了.                    <%                    '打开数据库连接,并定义用于格式化的变量.                    Set DBConn = Server.CreateObject("ADODB.Connection")