奉100分谢高手,表达敬意,正则表达式大于10
伪静态规则:RewriteRule /news-(\d+)-.html /news/index\.aspx\?page=$1
我的想法是这样的 :一个分页列表,前10页,生成静态页面,第11页用伪静态
这个伪静态规则该怎么写呢,就是page/ 后面该怎么写呢
大于 10 的正整数的正则表达式该怎么写呢
希望各位老大按照这个格式发上来,谢谢了
RewriteRule /news-(\d+)-.html /news/index\.aspx\?page=$1
[解决办法]
哈哈,我也帮顶
[解决办法]
没明白你的意思。。
例如:第2页你说返回静态是 news-2.html
第12页你说返回伪静态 不还是 news-12.html 嘛。。
[解决办法]
大于 10 的正整数的正则表达式分成
1.两位正整数,以1起始且大于10的: ^1[1-9]$
2.两位正整数,以2至9起始的:^[2-9]\d$
3.三位或更大的正整数 ^[1-9]\d{2,}$
综合得出
^((1[1-9])|([2-9]\d)|([1-9]\d{2,}))$
如有错误或更简方式请指正
[解决办法]
那你在程序中判断。。当大于10则跳转到相对应的aspx页面不可以么。。?
[解决办法]
你写一个js函数做判断吧.这样方便些,直接一点
[解决办法]
标记一下,^((1[1-9])|([2-9]\d)|([1-9]\d{2,}))$貌似负数也可以的哇,不会,学习中、。。
[解决办法]
怎么写?????飘过!
[解决办法]
!!!!!!!!!!
[解决办法]
[解决办法]
帮顶!
[解决办法]
不熟悉正则,期待楼下
[解决办法]
if else判断不行么?
[解决办法]
/news-([1-9]\d+)-.html
如此?
[解决办法]
/news-(1[1-9]|[2-9]\d+)-.html
这个满足大于10
[解决办法]
[解决办法]
大于10 的正则表达式
(^1[1-9]$)|(^[2-9][0-9]$)|(^1[0-9]{2,})
[解决办法]
大于10 的正则表达式
(^1[1-9]$)|(^[2-9][0-9]$)|(^1[0-9]{2,})
改一下
(^1[1-9]$)|(^[2-9][0-9]$)|(^[1-9]{2,})
[解决办法]
这样才正确
(^1[1-9]$)|(^[2-9][0-9]$)|(^[1-9][0-9]\d+)
[解决办法]
楼主要善于提问,把问题描述清楚。。
首先你用的URL重写组件是什么?是微软的MSDNUrlRewriting还是ISAPI_Rewrite?
然后你的URL格式:/news-2.html,你只说到了大于10的页码重写为/news/index.aspx?page=数字,那么前10页呢?保持/news-2.html真实URL不变是吗?
如果你的前10页不重写的话,那么ISAPI_Rewrite 3的重写规则如下:
- HTML code
RewriteRule /news-(?!10\.html$)([\d]{2,})\.html /news/index\.aspx\?page=$1 [NC]##注意如果想在.html加querystring参数就去掉(?!10\.html$)中的$符号
[解决办法]
其实说简单点就是:浏览器看到的路径都一样news-(\d+)-.html ,前10页访问的是真实的html.
10页以后访问的是真实路径: /news/index.aspx\?page=$1
花了点时间测试了下,应该可以:
<Rewrite url="~/news_([1-9][0]?).htm" to="~/news_([1-9][0]?).htm"/>
<rewrite url="~/news_(\d+).htm" to="~/index.aspx?page=$1"/>
写2个规则,注意,这里1-10的必须放在前面,因为规则是放在前面先生效,所以,如果是new_(1-10).html访问的就是new_(1-10).html,如果大于10,在第一条规则找不到匹配,在往下找,刚好匹配第二条,访问aspx页面。
希望对楼主有帮助,大家帮看看我问题,急啊。http://topic.csdn.net/u/20120203/16/22fd4a20-48ab-4bc7-888d-99aa0ccbae43.html?seed=1450491244&r=77458733#r_77458733
[解决办法]
[解决办法]
[解决办法]
不包括10的两位以上正整数,下面这个应该可以的。
[2-9][0-9]{1,}|[1][1-9]|[1][0-9]{2,}
[解决办法]
try...
- C# code
([1-9][0-9]{2,}|[2-9][0-9]|1[1-9])