htaccess伪静态规则
时间:2021-07-01 10:21:17
帮助过:19人阅读
求助htaccess伪静态规则
求助htaccess伪静态规则,转IIS的httpd.ini伪静态规则
测试网站:http://www.fphs5.com/date/ 它后面的动态的参数:?date=2014-1-10
我想用伪静态实现为直接以日期显示的地址如:2014110 这样的格式!
htaccess伪静态规则为:
rewrite ^/date/$ index_date.php last;
rewrite ^/date/(.*)/$ index_date.php?date=$1 last;
请问各位高手如何转换啊,或者帮忙给写一段也可以!谢谢各位了,辛苦了!!!
分享到: 更多 ------解决方案--------------------你的格式转换貌似有点问题,比如
你的格式是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倒是比较容易
------解决方案--------------------试试这个
rewrite ^/date/([\d]{4})([\d]{2})([\d]{2})/$ index_date.php?date=$1-$2-$3 last;
没有严格限制年月日的匹配,不太严谨,应该能用
------解决方案--------------------如果是http://www.fphs5.com/date/20140110最终跳转的依旧是http://www.fphs5.com/date/?date=2014-01-10
这样的话,就好处理很多了
直接可以用
^/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;
------解决方案--------------------先将你的日期参数转化一下格式,保障月和日都是两位:date('Y-m-d', strtotime('2014-1-12'));