asp.net 利用IIS的404错误将文件重写成目录的简单方法_实用技巧

例如:http:/www.jb51.net/8888/
该页面是由http://www.jb51.net/ArticleShow.aspx?id=8888 重写而来。

具体实现方法:
利用IIS的404错误来实现

"HTTP 404 - 未找到文件"可能是大家经常看到并且比较不喜欢的一个错误,可是很好的利用这个错误却可以给
网页设计带来很好的效果,本文就是利用404来实现对文件的重新。
具体步骤:
1.先建立一个页面,比如叫Error.aspx,放在网站根目录,在Error.aspx里面写关键代码

复制代码 代码如下:

public partial class Error : System.Web.UI.Page
{
string myUrl;
int myPos;
int myUrlLen ;
string id;
protected void Page_Load(object sender, EventArgs e)
{
myUrl = Request.Url.ToString();
myPos = myUrl.LastIndexOf("/")+1;
myUrlLen = myUrl.Length;
if (myPos == myUrlLen)
{
myUrl=myUrl.Remove(myPos - 1);
myPos = myUrl.LastIndexOf("/") + 1;
myUrlLen = myUrl.Length;
}
id = myUrl.Substring(myPos, myUrlLen - myPos);
//到这里ID取出来了,其他操作就简单了
//下面是根据ID读取数据库的信息,我就省略了。。。。
}
}

2.修改IIS的自定义错误信息
找到404,将消息类型改为URL,URL地址为“/Error.aspx”
然后就OK了。。

其他需要说明的:我现在还不清除这样的效率如何,比其他ReWrite软件比起来怎样我也不太清除,
大家可以测试看看。也希望大家可以提出更好的解决方案。

时间: 2024-09-22 21:57:31

asp.net 利用IIS的404错误将文件重写成目录的简单方法_实用技巧的相关文章

asp.net(C#)中上传大文件的几中常见应用方法_实用技巧

几种常见的方法,本文主要内容包括: 第一部分:首先我们来说一下如何解决ASP.net中的文件上传大小限制的问题,我们知道在默认情况下ASP.NET的文件上传大小限制为2M,一般情况下,我们可以采用更改Web.Config文件来自定义最大文件大小,如下: 这样上传文件的最大值就变成了4M,但这样并不能让我们无限的扩大 MaxRequestLength的值,因为ASP.NET会将全部文件载入内存后,再加以处理.解决的方法是利用隐含的 HttpWorkerRequest,用它的GetPreloaded

asp.net无法获取iis目录的问题解决方法_实用技巧

如果你有一个需要偶尔发送邮件的Asp.Net的网站,可能会有代码长的和下面的很像: 复制代码 代码如下: //这是简写,并非实际项目代码public void Send(string from, string to, string subject, string body){    var msgMail = new MailMessage(from, to, subject, body);    msgMail.IsBodyHtml = true;    var server = new Sm

asp.net利用存储过程和div+css实现分页(类似于博客园首页分页)_实用技巧

首先声明以下几点: 1.也许讲解有点初级,希望高手不要"喷"我,因为我知道并不是每一个人都是高手,我也怕高手们说我装13,小生不才: 2.如有什么不对的地方,还希望大家指出,一定虚心学习: 3.本文属于作者原创,尊重他人劳动成果,转载请注明作者,谢谢. 下面开讲: 首先说下思路,写一个存储过程,我也找了一个存储过程,不过不是我写的,出处:http://www.cnblogs.com/zhongweiv/archive/2011/10/31/JqueryPagination.html 这

ASP.NET拒绝访问临时目录的解决方法_实用技巧

今天把博客程序部署到一台阿里云Windows主机上,通过浏览器访问时出现下面的错误: 复制代码 代码如下: 创建 BlogConfigurationSettings 的配置节处理程序时出错: 拒绝访问临时目录.以其运行 XmlSerializer 的身份"IIS APPPOOL\www.cnblogs.com"没有足够的权限访问临时目录.CodeDom 将使用此进程用于进行编译的用户帐户,因此如果用户对系统临时目录没有访问权限,则将无法编译.使用 Path.GetTempPath()

ASP.NET文件上传Upload的实现方法_实用技巧

本文实例为大家分享了ASP.NET 文件上传,供大家参考,具体内容如下 1.最近应项目开发的需求要实现附件的异步上传和下载. 2.上传:文件上传到指定的路径下,并返回上传文件的信息给前端界面,如:文件的图标.上传的文件名.文件的大小. 3.上传后,在前端界面上显示上传的文件信息,点击文件名实现将上传的文件下载到本地. 4.先展示一下Demo运行的效果图: 点击提交后: 点击文件名实现下载到本地: 5.下面就给出前台代码: <!DOCTYPE html> <html> <hea

asp.net LC.exe已退出代码为 -1的原因分析及解决方法_实用技巧

可能的原因是: 这个第三方组件是个商业组件,他在组件的主使用类定义了 LicenseProvider(typeof(LicFileLicenseProvider)) 这个Attribute. VS2005在编译时检测到这个类的时候,会检查到组件使用的是LicFileLicenseProvider这个属性,表示有组件使用的是把许可的辅助信息保存在license.licx文件中,这个文件保存在vs2005中解决方案资源管理器中的Properties文件夹内. 这个文件的内容实际上是个引用,他保存着你

在ASP.NET中连接SQL Server的简单方法_实用技巧

首先导入名字空间:System.Data和System.Data.SqlClient.详细代码看源程序. 复制代码 代码如下: <%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data.SqlClient" %><html><script language="C#" runat="server">

ASP.NET在IE10中无法判断用户已登入及Session丢失问题解决方法_实用技巧

今天发现在IE10中登录我公司的一个网站时,点击其它菜单,页面总会自动重新退出到登录页,后检查发现,IE10送出的HTTP头,和.AUTH Cookie都没问题,但使用表单验证机制(FormsAuthentication)却无法判断该用户已登入,保存的Session总会丢失. 后查实这是ASP.NET 2.0,3.5和4.0的Bugs,因这些版本无法识别IE10的User-Agent标头字符串,所以无法识别用户浏览器的版本,从而导至了ASP.NET的特定功能失效,认为游览器不支持Cookies功

asp.net得到本地电脑基本信息的简单方法_实用技巧

1.在网络编程中的通用方法: 获取当前电脑名:staticSystem.Net.Dns.GetHostName() 根据电脑名取出全部IP地址:staticSystem.Net.Dns.Resolve(电脑名).AddressList 也可根据IP地址取出电脑名:staticSystem.Net.Dns.Resolve(IP地址).HostName 2.系统环境类的通用属性: 当前电脑名:staticSystem.Environment.MachineName 当前电脑所属网域:staticSy