我记录框架支持自定义网址后缀名,比如默认的url是 www.abc.com/post/32.aspx,可以改成 www.abc.com/post/32.html (使用html后缀名,可以模拟静态页面) 或者 www.abc.com/post/32(无后缀名) 形式,wojilu官网使用了第二种方式,下面的示例解释第一种方式。


【前提条件】

您必须具有IIS管理权限。在虚拟主机上是无法操作的。


【步骤】

下面以修改成html后缀名(aspx=>html)为例,详谈整个过程。


第一步:在IIS中添加对html的处理映射。


打开IIS,如下图,你应该点击“添加”(注意不是“插入”),增加对html的处理

【说明】“插入”通配符映射,是指所有文件都由.net处理(这是无后缀名情形);
你现在只要处理html,所以是点击“添加”,请看第2张图片。同时
不要勾选“确认文件是否存在”。





上面的具体路径要根据你的实际情况修正。一般说来,“可执行文件”的路径和.aspx的路径是一致的,所以可以先复制.aspx的路径,然后拷贝进来。如果你的操作系统是安装在c盘的,那么路径基本上是 C:\WINDOWS\Microsoft.NET\Framework\2.0.50727\aspnet_isapi.dll  


第二步,在网站根目录增加一个首页默认文件default.html

也就是说,在网站根目录,新建一个空的文本文件,然后更名为default.html

同时,打开IIS,定位到“文档”选项卡,增加一个首页名称,如下图,将default.html上移到第一个




第三步,修改配置文件,让系统中所有的链接都以Html结尾,而不是默认的aspx

打开  /framework/config/mvc.config,将 urlExt 后面的值改成html,即修改成:
urlExt 
html


第四步:修改配置文件,让程序正确处理html页面请求

打开网站根目录下的 web.config,修改(即删掉 *.html, 这几个字符)
<add verb="*" path="*.css,*.jpg,*.gif,*.png,*.bmp,*.ico,*.js,*.htm,*.html,*.xml,*.swf" type="System.Web.DefaultHttpHandler"/>
改成:
<add verb="*" path="*.css,*.jpg,*.gif,*.png,*.bmp,*.ico,*.js,*.htm,*.xml,*.swf" type="System.Web.DefaultHttpHandler"/>


第五步:修改网站根目录的 web.config 文件中的代码:

<authentication mode="Forms">
        <forms name="wojiluASPXAUTH" loginUrl="/Main/Login.aspx" />
</authentication>

将其中的 /Main/Login.aspx 改成 /Main/Login.html


【其他注意事项】


如果要进一步了解原理,请看 

http://www.wojilu.com/Forum1/Topic/133 (原理以及“无后缀名”处理图示)

http://www.wojilu.com/Forum1/Topic/765 (对是否是url重写的澄清)