redirection

Nouveau WRInaute
Bonjour,

j'aimerais avoir de l'aide pour un problème qui se pose a moi.

J'ai une page index.php avec un menu.
Dans ce menu j'ai plusieurs liens qui redirige vers plusieur pages.

"exemple"
page2 qui ouvre page2.php ( rien de plus normal )
page3 qui ouvre page3.php ( rien de plus normal )

j'aimerais bloquer l'ouverture de page2.php quand un utilisateur tappe dans la barre de naviguation : www.monsite.com/page2.php et soit directement redirigé vers -www.monsite.com/index.php

Mais il ne faut pas que cela bloque l'ouverture de page2.php quand on y accède via le menu de index.php

Donc je ne sais pas trop comment réaliser cela et ci cela est possible.

Merci de votre futur aide

Amicalement

Gilloo
 
Nouveau WRInaute
e-kiwi comment peux ton regarder si la page referante appartient au domaine stp ? car la je bloque et en programmation je suis à -2 :(
 
Nouveau WRInaute
C'est bien ce que je pensais car je suis rendu a ce stade :

<?php
if( ! isset( $_SERVER['HTTP_REFERER'] ) ) {$_SERVER['HTTP_REFERER'] = "" ; }
$condition = "http://www.monsite/index.php"; // le visiteur vient d'ici
if($condition == $_SERVER['HTTP_REFERER'])
{
header("Location:www.monsite.com/page2.php"); // on le renvoie ici
}
else
{
header("Location:www.monsite.com/index.php");
}
?>

Pour moi sa devrait donner :
si le visiteur qui est sur page2.php viens de la page index.php est renvoyé sur page2.php donc la c'est ok il peux y rester
Mais si le visiteur qui est sur la page2.php ne viens pas de la page index.php, il est renvoyé sur index.php

Mais cela ne marche pas, je continue mes recherches.
 
Nouveau WRInaute
Je suis rendu ici mais sa ne marche toujours pas :

Ce script est sur la page : page2.php

Donc si je viens d'index.php je vais sur page2.php donc c'est ok, mais si je ne viens pas de index.php je retourne sur index.php pour pouvoir y aller par la suite.

Mais sa ne marche pas :(

<?php
if ($_SERVER['HTTP_REFERER'] == 'http://www.monsite.com/index.php')
{
header("Location:www.monsite.com/page2.php");
}
else
{
header("Location:www.monsite.com/index.php");
}
?>
 
WRInaute discret
Ceux qui ont leur referrer bloqué (par un pare feu, un utilitaire, un cache d'isp...) n'accèderont jamais à la page, ceux qui viennent de www.monsite.com/ non plus, les robots non plus ...
Ceux qui ont fait une recherche et arrivent depuis google ou autre et sont redirigés sans rien avoir demandé n'apprécieront peut-être pas.
Si ce n'est pas un problème, alors il faut utiliser
$page_referer=getenv("HTTP_REFERER");
if (preg_match("/www.monsite.com\/(index.php)?/i",$page_referer))
 
WRInaute discret
Je ne comprend pas l'utilité de faire ça.
Quoi qu'il en soit, utilise les sessions si tu veux que ça marche à chaque fois.
 
Nouveau WRInaute
Enfaites, ce que je voudrais, c'est interdire l'accès direct à plusieurs page d'un site. (accès via les moteurs de recherche google et autres, accès via une url externe)
Pour y acceder, il faut obligatoirement passer par une index du domaine possedant un disclaimer pour pouvoir visiter les autres pages.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut