我的博客| Blog
- ·微信小程序错误:VM564:...
- ·mongodb3.2设置密码...
- ·单行滚动代码-单行滚动效果
- ·自己动手制作图形字体,以便于...
- ·MySQL无限级分类PHP按...
- ·Windows下的Apach...
- ·如何将网站上的文章分享到微信...
- ·PHP实现自动获取本月第几个...
联系我| Contact Me
- 电话:18681257080
- QQ:271538869
- 邮编:518020
- 信箱:service@08321.org
- 地址:四川省内江市资中县
诚信稳健,和谐共赢
- 以诚信为立世之本,在稳健的基础上,不断寻求创新与突破。
- 以务实严谨、精微细致的专业精神,为客户做最优质的策划,实现效果最大化。
成功,依稀可见
- 成功是什么?
- 做成一件达到目的的事,你就获得了一个小成功,小成功可以累积成更大的成功。每一人都有成功的机会。所以:成功,依稀可见!
我的博客
ASP伪静态终极探究
来源:本站编辑 发布日期:2009-8-27 已有 人浏览过此信息
今天研究了一下ASP关于伪静态的问题,小有所得,在此总结一下供大家分享和共同研究!
伪静态即伪装URL,把动态URL伪装成静态的。这样做的好处是有利于搜索引擎收录,比较符合W3C制定的各种标准,有一定的防注入效果。
缺点是需要服务器支持,而且是需要消耗一定的服务器处理器资源。
安装Rewrite组件略过……
装好Rewrite组件后,找到 httpd.ini,解除只读属性,用记事本打开进行规则的添加。
XP系统此配置文件的位置:系统盘:\WINDOWS\system32\inetsrv\httpd.ini
服务器系统可分各个网站自定义安装位置,建议装在各网站所属目录下。
本文主要讨论规则的写法
英文处理规则:
RewriteRule /index.html /index.asp
注:将首页 index.asp 伪装成 index.html
RewriteRule /readinfo_([0-9,a-z]*).html /readinfo.asp\?id=$1
注:将 readinfo.asp?id=2 伪装成 readinfo_2.html
RewriteRule /test/readinfo_([0-9,a-z]*).html /test/readinfo.asp\?id=$1
注:将 /test/readinfo.asp?id=2 伪装成 /test/readinfo_2.html
RewriteRule /test/readinfo_([0-9,a-z]*)_([0-9,a-z]*).html /test/readinfo.asp\?id=$1&page=$2
注:将 /test/readinfo.asp?id=55&page=2 伪装成 /test/readinfo_55_2.html
翻页处理规则:
RewriteRule /([a-z]*).html\?(.*) /$1.asp\?$2
注:将 news.asp?page=2&sid=5&key=新闻 伪装成 news.html?page=2&sid=5&key=新闻 这也是很多大型网站的做法,因为不可以按每一个参数做一个对应的规则,那样太繁锁。
中文的处理规则:
RewriteRule /newslist_([0-9,a-z]*)_(.*)\.html /newslist\.asp\?page=$1&type=$2
注:将 newslist.asp?page=5&type=行业新闻 伪装成 newslist_5_行业新闻.html
中文的其它规则都与英文类似,值得一说的是如果在提交URL的时候直接提交中文的URL文件名的话,参数会出现乱码,这里需要用到
一个ASP函数:server.URLencode(),此函数限用于通过get方式传输的数据。先用此函数对中文进行编码,中文会变成一串HTML编码格式,如:行业新闻 编码后:%D0%D0%D2%B5%D0%C2%CE%C5
newslist.asp?page=5&type=%D0%D0%D2%B5%D0%C2%CE%C5 伪装后:newslist_5_%D0%D0%D2%B5%D0%C2%CE%C5.html
关于通过表单提交的中文伪静态问题将在进一步研究后补充!!
文笔不好,写得有点乱,有啥不明白的请点本站下边QQ,联系我,共同研究,共同学习!
伪静态即伪装URL,把动态URL伪装成静态的。这样做的好处是有利于搜索引擎收录,比较符合W3C制定的各种标准,有一定的防注入效果。
缺点是需要服务器支持,而且是需要消耗一定的服务器处理器资源。
安装Rewrite组件略过……
装好Rewrite组件后,找到 httpd.ini,解除只读属性,用记事本打开进行规则的添加。
XP系统此配置文件的位置:系统盘:\WINDOWS\system32\inetsrv\httpd.ini
服务器系统可分各个网站自定义安装位置,建议装在各网站所属目录下。
本文主要讨论规则的写法
英文处理规则:
RewriteRule /index.html /index.asp
注:将首页 index.asp 伪装成 index.html
RewriteRule /readinfo_([0-9,a-z]*).html /readinfo.asp\?id=$1
注:将 readinfo.asp?id=2 伪装成 readinfo_2.html
RewriteRule /test/readinfo_([0-9,a-z]*).html /test/readinfo.asp\?id=$1
注:将 /test/readinfo.asp?id=2 伪装成 /test/readinfo_2.html
RewriteRule /test/readinfo_([0-9,a-z]*)_([0-9,a-z]*).html /test/readinfo.asp\?id=$1&page=$2
注:将 /test/readinfo.asp?id=55&page=2 伪装成 /test/readinfo_55_2.html
翻页处理规则:
RewriteRule /([a-z]*).html\?(.*) /$1.asp\?$2
注:将 news.asp?page=2&sid=5&key=新闻 伪装成 news.html?page=2&sid=5&key=新闻 这也是很多大型网站的做法,因为不可以按每一个参数做一个对应的规则,那样太繁锁。
中文的处理规则:
RewriteRule /newslist_([0-9,a-z]*)_(.*)\.html /newslist\.asp\?page=$1&type=$2
注:将 newslist.asp?page=5&type=行业新闻 伪装成 newslist_5_行业新闻.html
中文的其它规则都与英文类似,值得一说的是如果在提交URL的时候直接提交中文的URL文件名的话,参数会出现乱码,这里需要用到
一个ASP函数:server.URLencode(),此函数限用于通过get方式传输的数据。先用此函数对中文进行编码,中文会变成一串HTML编码格式,如:行业新闻 编码后:%D0%D0%D2%B5%D0%C2%CE%C5
newslist.asp?page=5&type=%D0%D0%D2%B5%D0%C2%CE%C5 伪装后:newslist_5_%D0%D0%D2%B5%D0%C2%CE%C5.html
关于通过表单提交的中文伪静态问题将在进一步研究后补充!!
文笔不好,写得有点乱,有啥不明白的请点本站下边QQ,联系我,共同研究,共同学习!
没有上一条了
下一条:ASP处理按日期段查询难题解密