网站重写url
以前觉得重写url像神一样,什么静态伪静态一大堆概念,搞的偶很是崇拜
我呢参考博客园某老兄文章,自己也作一个重写
1:去网站下载一个组件 这里:http://www.urlrewriting.net/155/de/downloads.html 并且引入你的项目
2:在web.config中注册相关组件和配置相关内容
<configSections>
<section name="urlrewritingnet"
requirePermission ="false"
type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter" />
</configSections>
<urlrewritingnet
rewriteOnlyVirtualUrls="true"
contextItemsPrefix="QueryString"
defaultPage = "Default.aspx"
defaultProvider="RegEx"
xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
<rewrites>
<!--更多重写规则 这就是我用的重写规则一会看案例-->
<add name="RewritePhoto2" virtualUrl="^~/product/(\d+).html"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/post.aspx?pid=$1"
ignoreCase="true" />
</rewrites>
</urlrewritingnet>
<!--注册httpModules-->
<httpModules>
<add name="UrlRewriteModule"
type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
</httpModules>
3:去IIS 下设置 步骤如下:
我要重写的形式是.html形式的
IIS配置:网站->属性->目录->配置(G)...->映射->应用程序扩展->添加
可执行文件:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll
扩展名:.html
动作:限制为 GET,HEAD,POST,DEBUG
脚本引擎:选中
确认文件是否存在:不选
4:设置成功以后看案例
www.yootiao.cn 里面的景点页面和产品页面都是重写过的!
最后欢迎交流。
后记:这回是第二次用
总结如下:重写规则,若是针对同一页面,有的连接没有分页参数,有的有 ,这个时候必须让参数多的在上,少的在下,教训之一,关于分页,我的分页组件本身提供自定义链接,所以直接赋值传到控件里就可以啦,然后分页控件会匹配参数,教训之二,关于postback,这个组件以及解决,但是我在回帖成功的时候,又重定向了一下,清掉缓存,没改链接,造成请求错误,也就是这个组件支持postback不用再做其他开发,教训之三。
3个问题解决了3天,查资料没有结果,不停的调试,短暂的放弃,最后搞定....