基于时间的重写 - 如何处理两个不同的年份? [英] Time based rewrites - how to handle two seperate years?

查看:49
本文介绍了基于时间的重写 - 如何处理两个不同的年份?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要重写以便页面:

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆