你的格式转换貌似有点问题,比如
你的格式是2014-1-12日按你的url应该是
/date/2014112 转成 index_date.php?date=2014-1-12但问题是2014112可以看转换成2014-1-12或2014-11-2这两种
因此没办法判断应该是哪个如果你的是由/date/2014-1-12 转换成 index_date.php?date=2014-1-12倒是比较容易
你的格式是2014-1-12日按你的url应该是
/date/2014112 转成 index_date.php?date=2014-1-12但问题是2014112可以看转换成2014-1-12或2014-11-2这两种
因此没办法判断应该是哪个如果你的是由/date/2014-1-12 转换成 index_date.php?date=2014-1-12倒是比较容易
我想通过IIS伪静态规则实现这样的形式:http://www.fphs5.com/date/2014110
我想通过IIS伪静态规则实现这样的形式:http://www.fphs5.com/date/2014110
http://www.fphs5.com/date/2014110最终跳转的依旧是http://www.fphs5.com/date/?date=2014-1-10这个页面,所以才说2014110没办法分辨出110这三个位哪个是月份哪个是日期,1月份表示1,12月份则表示为12,这个是重点,所以说,你最好把2014110这个能明显区分开哪个是月哪个日的
我想通过IIS伪静态规则实现这样的形式:http://www.fphs5.com/date/2014110
http://www.fphs5.com/date/2014110最终跳转的依旧是http://www.fphs5.com/date/?date=2014-1-10这个页面,所以才说2014110没办法分辨出110这三个位哪个是月份哪个是日期,1月份表示1,12月份则表示为12,这个是重点,所以说,你最好把2014110这个能明显区分开哪个是月哪个日的
直接用10号之前和10日之前用01,,02,03...这样的表达呢?
我想通过IIS伪静态规则实现这样的形式:http://www.fphs5.com/date/2014110
http://www.fphs5.com/date/2014110最终跳转的依旧是http://www.fphs5.com/date/?date=2014-1-10这个页面,所以才说2014110没办法分辨出110这三个位哪个是月份哪个是日期,1月份表示1,12月份则表示为12,这个是重点,所以说,你最好把2014110这个能明显区分开哪个是月哪个日的
直接用10号之前和10日之前用01,,02,03...这样的表达呢?试试这个rewrite ^/date/([\d]{4})([\d]{2})([\d]{2})/$ index_date.php?date=$1-$2-$3 last;
没有严格限制年月日的匹配,不太严谨,应该能用
这样的话,就好处理很多了直接可以用
^/date/((?:19|20)\d\d)(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])/$ index_date.php?date=$1-$3-$4;
是不是需要修改index_date.php源代码呢?
一般情况下不是必须的你无法用正则区分这样的组合
123 12-3 1-23
嗯,谢谢老大,我考虑这个问题了,只是鉴于google收录了,就没做修改!看来还是要修改这个!