[RESOLU] Redirection sous domaine HTACCESS

Eléphant du PHP | 386 Messages

14 oct. 2013, 09:58

Bonjour,

Est-il possible de faire la manipulation suivante ? :

J'ai un sous-domaine home relié par le même dossier sur la racine de mon site.
Ce sous-domaine est privé par le public (inscription requise)
J'aimerais me connecter à mon espace membre en allant sur "http://home.monsite.fr/login"
Et dès que je suis connecté, je suis redirigé vers la page "http://home.monsite.fr/index.php"

Le problème c'est que j'essaye beaucoup de possibilité de redirection dans le htaccess, mais rien n'y fait :(
Quand je me connecte, ça tourne en boucle.

Voici ma page login.php :

$wa_urlHome = "http://home.web-astronomie.fr";
$wa_url = "http://www.web-astronomie.fr";
<?php
session_start();
require('../include/config.inc.php');
if(isset($_SESSION['pseudo'])){
	header('Location: '.$wa_urlHome);
	exit();
}

$email = $_POST['email'];
$password = sha1($_POST['password']);

if(isset($_POST['submit'])){
	if (!empty($_POST['email']) && !empty($_POST['password'])){
		$req = $connect->prepare('SELECT id, pseudo FROM users WHERE email = :email AND password = :password');
		$req->execute(array('email' => $email,'password' => $password));
		$result = $req->fetchAll();
		if(count($result) == 1){
			session_start();
			$_SESSION['id'] = $result[0]['id'];
			$_SESSION['pseudo'] = $result[0]['pseudo'];
			if(isset($_POST['checkOn'])){
				$expire = time() + 365*24*3600;
				setcookie('checkOn', $_SESSION['pseudo'], $expire);
			}
			header('Location: '.$wa_urlHome);
		} else {
			$error_login = '<span class="error">Vos identifiants sont incorrects<br /><span>Vous pouvez réinitialiser votre mot de passe <a href="recover">ici</a></span></span>';
		}
	} else {
		$error_login = '<span class="error">Vous devez remplir tous les champs</span>';
	}
}
?>
Et la page index.php qui est privée :
<?php
session_start();
require('../include/config.inc.php');
if(!isset($_SESSION['pseudo'])){
	header('location: .'$wa_urlHome.'/login.php?login_error=1');
	exit();
}
?>
<!DOCTYPE html>
<html lang="fr" class="no_js">
<head>
	<meta charset="UTF-8" />
	<title>Accueil | Mon espace membre</title>
	<meta name="description" content="Web Astronomie vous permet de publier vos articles, photos... avec vos amis et les internautes du site. Inscrivez-vous dès maintenant !" />
	<meta name="robots" content="noindex" />
	<?php include('../include/head.inc.php'); ?> 
</head>
<body>
	<?php include('../include/header.inc.php'); ?> 
	<div id="content">
		<div class="container">
			<?php include('../include/left.inc.php'); ?> 
			<?php include('../include/right.inc.php'); ?> 
			<div id="contentUser">

			</div>
		</div>
	</div>
</body>
</html>
Merci d'avance

Eléphant du PHP | 386 Messages

14 oct. 2013, 10:19

Problème résolu :

Toujours vérifier que la session qu'on va ouvrir se trouve dans le bon répertoire.
Par exemple :

"http://home.monsite.fr/login.php" va fonctionner

alors que :

"http://www.monsite.fr/login.php" va créer des redirections puisque la session sera créer à la racine du site et non au sous-domaine.