2011-05-18 61 views

回答

3

我想你應該檢查月和日數在腳本中。但這是正則表達式。

已更新以匹配單個數字的日期或月份以及可選的尾部斜線。

RewriteRule ^(\d{4})/(0?[1-9]|1[0-2])/(0?[1-9]|[12][0-9]|3[01])/?$ ?y=$1&m=$2&d=$3 

只適用於使用可選尾部斜槓的年份和月份。

RewriteRule ^(\d{4})/(0?[1-9]|1[0-2])/?$ ?y=$1&m=$2 
+1

您*應*檢查腳本中的月份和日期編號。 – 2011-05-18 08:05:03

+0

@Teneff否,後兩位必須是「EOL」。 – 2011-05-18 08:19:24

+0

它的工作很好,只是你可能不得不考慮關於一個可選的正斜槓在結尾:) – Teneff 2011-05-18 08:24:07

2

我能想到的最好的是這樣的:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(\d{4})/(0[1-9]|10|11|12)/(0[1-9]|[12][0-9]|3[01])/?$ index.php?y=$1&m=$2&d=$3 [L] 
+0

非常感謝,我注意到如果01寫成1,它不起作用,請問我該如何解決它;此外,如果我只想與年和月一起工作,請刪除'(0 [1-9] | 10 | 11 | 12)/'? – 2011-05-18 08:40:46