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软件比起来怎样我也不太清除,
大家可以测试看看。也希望大家可以提出更好的解决方案。

(0)

相关推荐

  • IIS 8.5下设置404错误页图文教程

    问题描述 搭建一个测试网站,总共就2个页面(index.php和404.php),默认首页为:index.php 当访问index.php和404.php的时候,IIS服务器能正常响应,说明在IIS 8.5中配置PHP环境没有出现问题. 访问index.php 访问404.php 另外,我的错误页配置结果如下: 正常情况下,当访问某个不存在的页面时(比如:127.0.0.1/aaa.php),此时,iis服务器发现aaa.php这个文件并不存在,所以,应该会请求404.php 也就是:127.0

  • IIS 7.5 HTTP 错误 404.3 - Not Found错误的解决方法

    iis7.5安装默认是不安装asp/php/jsp支持的 解决办法也很简单 再次安装IIS功能 在 万维网服务-应用程序开发上勾选asp 就万事大吉了... 故障现象: IIS 7.5 下载文件遇到 404.3 404.3可能是由于当前请求的文件的后缀未知造成的.某些不太常用的后缀在IIS中没有设置,而文件的确存在于服务器上,此时如果客户端请求下载该文件,可能会遇到此错误. 可以通过设置IIS上的MIME来解决这个问题. 1. 双击IIS中的MIME Type 2. 单击右侧Action中的Ad

  • win2003 iis 404 设置方法与小技巧

    打开IIS管理器 =>点击要设置自定义404网站的属性=>点击"自定义错误"选项=>选中404页=>选中并打开编辑属性=>按浏览选择你要的404页=>按确定保存退出=>错误页面生效 正常这样是可以的,但有些2003系统的IIS设置就是不行,就可以用到下面的方法: 错误信息 设置成 URL 格式为 /404.htm 把 404.htm 放在网站跟目录下 或者 /文件夹/404.htm 把 404.htm 放在网站/文件夹/目录下

  • IIS自定义404错误页避免暴露.NET网站路径信息

    再输入非.aspx页面时,显示默认404页面,暴露站点路径信息. 解决办法: 1.自定义错误页(eg:error.htm),放在站点根目录. 2.打开"错误页",右键"编辑",如图: 3."错误页",右键"编辑功能设置",如图: 如果没变化的话重启一下IIS即可.

  • IIS 8.5下设置自定义404错误页

    IIS版本:IIS 8.5问题描述 搭建一个测试网站,总共就2个页面(index.php和404.php),默认首页为:index.php 当访问index.php和404.php的时候,IIS服务器能正常响应,说明在IIS 8.5中配置PHP环境没有出现问题. 访问index.php 访问404.php 另外,我的错误页配置结果如下: 正常情况下,当访问某个不存在的页面时(比如:127.0.0.1/aaa.php),此时,iis服务器发现aaa.php这个文件并不存在,所以,应该会请求404.

  • IIS6上配置404页面的图文教程(url+文件)

    首先先说明下消息类型: url 与 文件. 一般情况下如果选择了url那么返回的404页面是200状态(也就是返回给搜索引擎是正常存在的页面),而选择了文件那么才是告诉搜索页引擎没有找到页面,返回的是400页面内容,这样对搜索引擎来税具有较好的友好度,其实我们现在大多数都是使用文件格式. 推荐使用 文件啊 步骤/方法 打开IIS 找到你的网站,点右键,选择属性 选择"自定义错误"标签页,找到404的那一项,点"编辑属性"按钮 在"消息类型"里选&

  • IIS7.5下的web.config 404配置的一些问题

    本文介绍一个关于IIS环境下web.config配置的经验问题.在IIS7.5中添加配置404页面时遇到了一些问题,记录如下: 一开始在<customError>下的<error>节点配置404不起作用,由于程序运行在IIS7.5集成模式下,经过MSDN和GOOGLE,发现 需要在<system.webServer>节点中配置,我们知道<system.web>节点是iis7.0之前版本的主要配置节点,由于在II7.0以后IIS管 道处理与ASP.NET管道处

  • IIS下自定义404页面返回200状态码的严重性及解决方法

    在了解404页面前,先给大家了解一下几个常见的HTTP状态码.* 404 : 请求的网页不存在(不排除日后该链接有效的可能性):* 410 : 请求的网页不存在(永久):* 200 : 服务器成功返回网页* 302 : 网址临时重定向(跳转)* 301 : 网址永久重定向* 403 : 拒绝访问* 500 : 内部错误 当访问一个不存在的页面时会返回404状态码,告诉搜索引擎这个页面不存在或者已经删除.默认情况下没做自定义404页面时,访问一个不存在的页面会如下图所示 出现这样的页面无论是对用户

  • win8下IIS 8.5下设置404错误页

    IIS版本:IIS 8.5问题描述 搭建一个测试网站,总共就2个页面(index.php和404.php),默认首页为:index.php 当访问index.php和404.php的时候,IIS服务器能正常响应,说明在IIS 8.5中配置PHP环境没有出现问题.访问index.php 访问404.php 另外,我的错误页配置结果如下: 正常情况下,当访问某个不存在的页面时(比如:127.0.0.1/aaa.php),此时,iis服务器发现aaa.php这个文件并不存在,所以,应该会请求404.p

  • IIS发布以后handle文件找不到404错误的解决方法

    昨天碰到一个奇怪问题,开发环境没有问题,发布到IIS7.5以后,保存操作不能成功,跟踪发现,是handle方法找不到,抛错. 想了很多方法,最后把怀疑是GET方式和客户数据引起的问题,改成POST方式以后,问题解决了. 在此,再温习一下GET和POST的区别: 1. get是从服务器上获取数据,post是向服务器传送数据. 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTP post机制,将表单内各个字

  • IIS设置404页面图文教程(选择URL还是文件 )

    下面侯庆龙说明放置404页代码一些方方面面,希望大家能用到网站建设当中: <META http-equiv=refresh content="3; url=http://www.iglee.net/">,把其中网址改成你的想要转接的网址.网页即可. 提供一种最实用而且最通用的代码,可以用于html,asp,php中,把这代码加到的与之间即可,代码如下 404页会不会被搜索引擎认为作弊 答案:否,当你网页有少部分消失采用404页跳转,搜索引擎是不会认为作弊的,因为这是符合正常

  • IIS部署asp.net报404错误的解决方法

    1).所建网站->(右键)权限->"ASP.NET计算机帐户"是否已添加. 2).所建网站->(右键)属性->ASP.NET选项卡->版本是否为2.0,不是则修改为2.0; 3).IIS->WEB服务扩展中->ASP.NETV2.0是否被禁止,若为禁止状态则启动; 4).所建网站->(右键)属性->主目录->执行权限是否为:纯脚本;应用程序池是否设置: 5).所建网站->(右键)属性->ASP.NET选项卡->

  • IIS HTTP 错误 404.17 - Not Found 解决方法

    错误提示如下图: 出现这种情况的原因通常是因为先安装了Framework,后安装的IIS: 运行cmd,输入: 复制代码 代码如下: C:\Windows\Microsoft.NET\Framework\V4.0.30319\aspnet_regiis -i 注:C:\Windows\Microsoft.NET\Framework\V4.0.30319\   是 netframework安装对应的路径: 如下图: 注册成功后,重启一下iis, 理论上应可以解决导致404.17 not found

  • win2008 r2中IIS7.5及以上设置404错误页面的正确方法

    1.进入windows 2008服务器,打开IIS Manager,点击需要设置404错误页面的网站.进入windows 2008服务器,打开IIS Manager,点击需要设置404错误页面的网站. 2.在IIS右侧选择错误页这项,双击打开. 3.出现错误页设置页面,今天我们这边只说明一下404如何设置,诸如500.503等这里先不考虑.双击404错误页面那项,或选中404那项点击右侧的编辑按钮 4.出现404错误页面设置选项,笔者选择的是第一个方法,输入404静态页面文件的完整路径,点击下方

随机推荐