当前位置:编程学习 > asp >>

关于urlrewrite的正则表达式写法求助(asp)

我用asp写的网站,其中有好多类似abc.asp和abc.asp?i=1这样的网站。 我想通过一条正则表达式做伪静态,把类似abc.asp的所有的网页都静态成abc.html这样的 用另外一条正则表达式,把类似abc.asp?i=1静态成abc-1.html 下面是我自己写的 rewrite url="^~/([a-zA-Z0-9]+)_([a-zA-Z0-9]+).html$" to="~/$1.asp?i=$2" processing="stop" (把abc.asp?i=1伪静态成abc-1.html)
补充:sorry  我可能没有说清楚,我想把abc.asp这类的都伪静态成abc.html
就是用一句正则表达式,把abc.asp、bcd.asp、efg.asp……为静态成abc.html、bcd.html、efg.html……
注意,是一句正则表达式。
谢谢
答案:<rewrite url="^~/([a-zA-Z0-9_]+).html$" to="~/$1.asp" processing="stop" />
<rewrite url="^~/([a-zA-Z0-9_]+)-([a-zA-Z0-9_]+).html$" to="~/$1.asp?i=$2" processing="stop" />

试过了,可以完成你的要求
其他:RewriteRule /abc-(\d+)\.html /abc.asp\?i=$1 [N,I] 你说的是 abc-1.html
写的是 abc_1.html 
rewrite url="^~/([a-zA-Z0-9_]+)-([0-9]+).html$" to="~/$1.asp?i=$2" processing="stop" 楼上正解 你可以用正则替换就可以了,你可以用 UltraEdit 编辑器来完成 

1. 按下 CTRL+R, 选中'正则表达式'
2. 查找: \.asp(\?i=(\d+))?
3. 替换为 -\2.html
4. 然后点击'替换全部'即可

只是 abc.asp 也被替换为abc-.html 你若觉得不爽, 可以把 '-.html' 替换为 '.html' 

上一个:C# asp.net 注销时遇到 验证控键的阻止,请问有没有人遇到 过,是怎么解决的,可以告诉 我一下吗?
下一个:ASP网站兼容火狐浏览器需要注意哪些问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,