Redirection de index.php à la racine

WRInaute discret
Salut,
comme un débile j'ai référencé mon site en
monsite.fr/index.php

Aujourd'hui je me retrouve avec ma page d'accueil en duplicate content.
Donc l'idée est d'interdire monsite.fr/index.php !
Le truc c'est que ce n'est pas une redirection car monsite.fr correspond bien à monsite.fr/index.php!!
J'ai essayé:
Code:
RedirectPermanent index.php http://www.monsite.fr
et logiquement ca donne une erreur!

Bref je m'embrouille!
Merci d'avance pour votre aide
 
WRInaute accro
Si tu fais la redirection dans l'htaccess, ton index.php devient inutilisable.

--> au tout début du code de "index.php" (avant d'envoyer quoi que ce soit, même un espace), mets ceci:

Code:
<?php
if($_SERVER['REQUEST_URI'] == "/index.php")
	{
	header("Status: 301 Moved Permanently", false, 301);
	header("Location: http://".$_SERVER['HTTP_HOST']."/");
	exit;
	}
?>

--> la redirection n'aura lieu que si "index.php" est demandé (donc n'a pas lieu si c'est "/" qui est demandé) ;)
 
WRInaute discret
Super, merci ;)

2 choses:
J'ai remplacé
Code:
   header("Location: http://".$_SERVER['HTTP_HOST']."/");
par
Code:
   header("Location: http://www.monsite.fr");
(Sans le slash au bout du nom de domaine)

Au niveau référencement: ça peut être que mieux?

La variable $_SERVER['REQUEST_URI est elle intérprété par tous de la même manière (robots, navigateur etc...)?

Merci d'avance
 
WRInaute impliqué
SparH a dit:
Super, merci ;)

2 choses:
J'ai remplacé
Code:
   header("Location: http://".$_SERVER['HTTP_HOST']."/");
par
Code:
   header("Location: http://www.monsite.fr");
(Sans le slash au bout du nom de domaine)

Au niveau référencement: ça peut être que mieux?

La variable $_SERVER['REQUEST_URI est elle intérprété par tous de la même manière (robots, navigateur etc...)?

Merci d'avance

les robots, navigateurs etc ne verront pas la valeur $_SERVER['HTTP_HOST'].

C'est une variable php. donc php va l'interpréter et en l'occurence la remplacer par http://www.tonsite.tld
Quand tu regardes la source d'une page index.php, tu ne vois pas le code php, tu ne vois que de l'html. Ici dans cette exemple c'est le même principe
 
WRInaute discret
Oui oui oui je rappelle que les robots ne voient pas le code source. Ils demandent, comme n'importe qui, les pages au serveur qui lui les interpretent et renvoie le code HTML au robots.
 
Nouveau WRInaute
Si tu fais la redirection dans l'htaccess, ton index.php devient inutilisable.

Salut,
Est ce que cela veut dire que si on a un -www.monsite/index.html on ne peut pas le renvoyer à partir du fichier .htaccess vers -www.monsite/ si on n'a pas de php.
sinon quel est le code, car j'ai essayé

Code:
RewriteRule ^http://www.monsite.com/$  index.html$ [R=301,L]
mais cela ne fonctionne pas
 
Discussions similaires
Haut