2011-03-11 36 views
1


我想重定向到頁面不find.php頁面如果日期少於某個日期。
例如,
www.example.com/index.php?dt='2011-03-11'。
此索引頁根據顯示日期提取db中的數據。如果傳遞的日期小於某個日期,它應該重定向到pagenotfound.php。我如何使用htaccess來做到這一點?使用基於日期的htaccess重定向在php

謝謝。

回答

2

您必須在您的PHP腳本中測試日期;和重定向,使用header()功能:

if ($_GET['dt'] <= date('Y-m-d')) { 
    // Redirect to your other page 
    header('Location: http://www.yoursite.com/page-not-found.php'); 
    exit(); 
} 


注意:做這個測試之前,它可能是有趣:

  • 確保$_GET['dt']存在,使用isset()
  • 驗證它是否包含這是一個有效的日期
+1

@sekar我認爲你應該使用PHP做這種決定,而不是使用htaccess。 htaccess文件不是爲了幫助業務邏輯而創建的,並且只有在無法進行其他操作時才能將其用途限制爲apache配置。 – 2011-03-11 07:58:33

+0

@Elzo Valugi我是新來的htaccess,所以我嘗試在htaccess中做所有事情。感謝您的指導。 pascalMARTIN答案是正確的,但我不想顯示pagenotfound.php它應該像www.mysite.com/PageNotFound ...我可以得到一些更多的指導方針嗎? – VKGS 2011-03-11 08:16:36

0

爲什麼它需要是vi一個.htaccess?似乎這個邏輯更好地放在腳本本身:

if ($date < $somedate) { 
    header('HTTP/1.1 302 Found'); 
    header('Location: http://www.example.com/error.php'); 
    exit; 
}