我正在使用mod_rewrite。我的部分规则是允许1到31天...... 显而易见的规则是:
(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31)
同样的情况也会持续数月,范围从1到12
(1|2|3|4|5|6|7|8|9|10|11|12)
总的来说,我的规则看起来像是
RewriteRule ^gallery/image/date(?:/(1|2|3|4|5|6|7|8|9|10|11|12))?(?:/(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31))?/?$ gallery/timeline.php?month=$1&day=$2 [L,QSA]
正如你所看到的,规则很难看!我相信这里有一个更好看的规则。 我已经尝试使用以下几个月了
([0-9]{1,2})
但是匹配一个或两个数字(0到99)。我需要一个匹配1到12个月和1到31天的规则吗?
如何创建这两条规则,数月和数天?
答案 0 :(得分:1)
月份:
[1-9]|1[0-2]
以及几天:
[1-9]|[12][0-9]|3[01]
但是,这些会允许2/30
和4/31
这样的日期在实用性方面不存在!
RewriteRule ^gallery/image/date(?:/([1-9]|1[0-2]))?(?:/([1-9]|[12][0-9]|3[01]))?/?$ gallery/timeline.php?month=$1&day=$2 [L,QSA]