Redirection par php d'un fichier vers ce même fichier

Résolu/Fermé
Profil bloqué - Modifié par seriesparlotte le 26/04/2013 à 14:13
 Profil bloqué - 28 avril 2013 à 18:53
Bonjour,

Je souhaiterai rediriger un fichier vers ce même fichier mais ayant une adresse différente.

J'utilise dans le répertoire root :
if($_SERVER['REQUEST_URI'] == "/contact.php") 
 { 
 header("HTTP/1.1 301 Moved Permanently"); 
 header("Location: [http://]".$_SERVER['HTTP_HOST']."/contact"); 
 exit; 
 die("Redirection"); 
 }


Cependant ce code ne veut pas s'appliquer (je n'ai pourtant pas d'erreur) à un fichier dans un sous répertoire. Je suppose que c'est la formulation qui est mauvaise, mais je ne vois pas comment l'utiliser pour un fichier en sous-repertoire :/

Je souhaiterai faire une redirection php de series/fichier.php vers series/fichier/ sachant que fichier/ peut être lu grâce à un code htaccess.

Merci par avance pour toute l'aide que je pourrai avoir !

Cordialement


A voir également:

3 réponses

tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
27 avril 2013 à 19:31
Salut,

Le code semble correcte. Est-ce que la variable $_SERVER['REQUEST_URI'] renvoie bien /contact.php ?
Les crochets [http://] sont en trop.
Le code est bien placé avant tout envoie de code HTML?
1
Salut,

Merci pour la réponse :).
Comment puis-je savoir si cette variable renvoie bien /contact.php ? :/

Je viens également d'enlever le [http://]
Cela donne donc :
if($_SERVER['SCRIPT_NAME'] == "/arrow.php")
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: ".$_SERVER['HTTP_HOST']."/arrow/");
exit;
die("Redirection");
}

Cordialement.
0
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
28 avril 2013 à 11:41
Faites simplement un "echo".
echo $_SERVER['REQUEST_URI'];

Note : il faut garder le "http://", c'est juste les crochets qu'il faut virer.
0
J'obtiens /series/serveur.php (ce qui correspond au dossier que je désire et au nom du fichier ayant l'echo).

Pour les crochets, j'ai l'impression que c'est CCM qui les rajoute, je n'ai pas de crochet, excepté si vous parlez des //
J'ai : header("Location: http://".$_SERVER['HTTP_HOST']."/arrow/");

(après édition j'avais bien les crochets d'ajouté par CCM ^^)
0
Profil bloqué
28 avril 2013 à 12:06
Bon, j'ai compris l'origine de mon erreur ! Merci beaucoup :).
Par contre petite question liée, ayant le même fichier lu sur :
- /series/arrow/ (ce que je désire)
- /series/arrow.php
- /series/arrow

Y aurait-il un moyen de rediriger le /series/arrow et le /series/arrow.php vers /series/arrow/ en un seul code ? J'entends par là sans copier le code une seconde fois en modifiant avec et sans le .php
0
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 219
28 avril 2013 à 18:12
Doublez simplement la condition :) :
if($_SERVER['SCRIPT_NAME'] == "/arrow.php" || $_SERVER['SCRIPT_NAME'] == "/arrow")

1
Profil bloqué
28 avril 2013 à 18:53
Parfait !!
Merci beaucoup pour tout !
0
Profil bloqué
27 avril 2013 à 16:37
up :/
0