2011-03-11 2 views
1


Je souhaite rediriger vers la page Page not found.php si la date est inférieure à une date.
par exemple,
www.example.com/index.php?dt='2011-03-11.
Cette page d'index recherche les données en db en fonction de la date d'affichage. Si la date passée est inférieure à une date, elle doit être redirigée vers pagenotfound.php. comment puis-je le faire en utilisant htaccess?rediriger en utilisant htaccess basé sur la date en php

Merci.

Répondre

2

Vous devrez tester la date, dans votre script PHP; et redirigent, en utilisant la fonction header():

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


Note: avant de faire ce test, il pourrait être intéressant de:

  • Assurez-vous que $_GET['dt'] existe, en utilisant isset()
  • Vérifiez si elle contient quelque chose qui est une date valide
+1

@sekar Je pense que vous devriez utiliser PHP pour prendre ce genre de décision au lieu d'utiliser htaccess. Les fichiers htaccess n'ont pas été créés pour faire de l'aide avec la logique métier et leur utilisation doit être limitée à la configuration d'apache chaque fois que cela ne peut pas être fait autrement. –

+0

@Elzo Valugi je suis nouveau à htaccess afin que j'essaie de tout faire dans htaccess. merci pour votre guide. La réponse de pascalMARTIN était juste, mais je ne veux pas montrer le pagenotfound.php il devrait être comme www.mysite.com/PageNotFound ... puis-je obtenir plus de directives pour cela? – VKGS

0

Pourquoi faut-il être vi un .htaccess? On dirait que cette logique est mieux placée dans le script lui-même:

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