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

Résolu
Profil bloqué -  
 Profil bloqué -
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 1381 Statut Membre 220
 
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
Profil bloqué
 
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 1381 Statut Membre 220
 
Faites simplement un "echo".
echo $_SERVER['REQUEST_URI'];

Note : il faut garder le "http://", c'est juste les crochets qu'il faut virer.
0
Profil bloqué
 
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é
 
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 1381 Statut Membre 220
 
Doublez simplement la condition :) :
if($_SERVER['SCRIPT_NAME'] == "/arrow.php" || $_SERVER['SCRIPT_NAME'] == "/arrow")

1
Profil bloqué
 
Parfait !!
Merci beaucoup pour tout !
0
Profil bloqué
 
up :/
0