基于时间的重写 - 如何处理两个不同的年份? [英] Time based rewrites - how to handle two seperate years?
问题描述
我需要重写以便页面:
http://www.site.com/page-one
http://www.site.com/page-two
http://www.site.com/page-three
http://www.site.com/page-four
仅适用于 2011 年 12 月 25 日至 2012 年 1 月 31 日
Are only available on 25th December 2011 to 31st January 2012
我怎样才能做到这一点?我一直在玩 TIME_MON、TIME_DAY、TIME_YEAR,我对它如何处理 2011 年 12 月 25 日至 2012 年 1 月 31 日之间的两个单独的月份、两个单独的年份感到困惑
How can I achieve this? I have been playing around with TIME_MON, TIME_DAY, TIME_YEAR and I am getting confused on how it will handle two seperate months, two seperate years, between 25 Dec 2011 to 31 Jan 2012
RewriteCond %{TIME_YEAR} ^2011
RewriteCond %{TIME_MON} ^12
RewriteCond %{TIME_DAY} >24
RewriteRule ^/page-one/?$ /folder/page-one [PT]
RewriteRule ^/page-two/?$ /folder/page-two [PT]
RewriteRule ^/page-three/?$ /folder/page-three [PT]
RewriteRule ^/page-four/?$ /folder/page-four [PT]
RewriteCond %{TIME_YEAR} ^2012
RewriteCond %{TIME_MON} ^01
RewriteCond %{TIME_DAY} >01
RewriteRule ^/page-one/?$ /folder/page-one [PT]
RewriteRule ^/page-two/?$ /folder/page-two [PT]
RewriteRule ^/page-three/?$ /folder/page-three [PT]
RewriteRule ^/page-four/?$ /folder/page-four [PT]
任何帮助将不胜感激.
推荐答案
我认为这应该更具可读性、可扩展性,并且应该可以工作 ;)
I think this should be more readable, extensible, and it should work ;)
顺便说一句:我首先看到的是格式:TIME_MON => 当前月份 (0-11)
By the way: first thing I've looked is the format: TIME_MON => current month (0-11)
感谢这里的网站.
所以你的规则在 12 月永远不会生效;)
So your rules will never ever work for december ;)
RewriteCond %{TIME_YEAR}/%{TIME_MON}/%{TIME_DAY} 2011/11/(25|26|27|28|29|30|31) [OR]
RewriteCond %{TIME_YEAR}/%{TIME_MON}/ 2012/0/
RewriteRule ^/page-(one|two|three)/?$ /folder/page-$1 [NC,QSA,PT]
... 3 行而不是 14 行 ;)
... 3 lines instead of 14 ;)
告诉我它是否有效.
如果它不起作用:阅读我通常的两个提示",并在您的问题中添加重写日志.
If it doesn't work: read my usual "two hints", and add the rewrite log in your question.
请尝试使用 RewriteLog
指令:它可以帮助您追踪此类问题:
Please try to use the RewriteLog
directive: it helps you to track down such problems:
# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On
<小时>
我最喜欢的检查正则表达式的工具:
My favorite tool to check for regexp:
http://www.quanetic.com/Regex(不要忘记选择 ereg(POSIX) 而不是 preg(PCRE)!)
http://www.quanetic.com/Regex (don't forget to choose ereg(POSIX) instead of preg(PCRE)!)
这篇关于基于时间的重写 - 如何处理两个不同的年份?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!