1.针对双向重写。在网上已经现成的代码。
我想实现的是。在webform.aspx页面里的 <a herf='/default.aspx?userid=2' >无疑</a>
这种路径不需要改写,而在用户访问当前页面的时候。
浏览器地址栏中出现的是指定在配置文件里定义好的路径,呈现给用户看。 比如: http://domain/defaut/2.html
如果有分页列表分页参数等等。
<a herf='/default.aspx?userid=2&page=3' >无疑</a>
在浏览器呈现: http://domain/defaut/2/3.html
根据配置文件:
<?xml version="1.0"?>
<ReWriterConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Rules>
<ReWriterRule>
<LookFor>~/Default/(\w+)\.html</LookFor>
<SendTo>~/Default.aspx?userid=$1</SendTo>
</ReWriterRule>
<ReWriterRule IsDirect="true">
<LookFor>~/Default\.aspx\?userid=(\w+)</LookFor>
<SendTo>~/Default/$1.html</SendTo>
</ReWriterRule>
<ReWriterRule>
<LookFor>~/Default/(\w+)/(\d+)\.html</LookFor>
<SendTo>~/Default.aspx?userid=$1↦page=3</SendTo>
</ReWriterRule>
<ReWriterRule IsDirect="true">
<LookFor>~/Default\.aspx\?userid=(\w+)↦page=(\d+)</LookFor>
<SendTo>~/Default/$1/$2.html</SendTo>
</ReWriterRule>
</Rules>
</ReWriterConfig>
目前ulark提供的 方法可以满足我的需要。但是只能在debug 调试状态下能访问正常。也就是说。建立站点访问却出错。找不到指定的文件。我已经在设置不需要验证文件是否存在!
建立站点需要指定文件是否存在。
有精通这块的人,请指点!谢谢!
参看:http://blog.csdn.net/ulark/archive/2009/11/26/4880426.aspx 看ulark 的思路。
下载项目:urlrewrite