Aide - Recherche - Membres - Calendrier
Version complète : Interdire une extension de fichier...
Utilisable > Référencement, développement et hébergement > Les autres sujets
Zef
Salut tous.

Je cherche à faire une manip sur le .htaccess de mon forum afin d'interdire l'ouverture de mon index.php au seul profit de mon index.html (rewriting en force).

Avez vous des idées car j'ai beau chercher je ne trouves pas mon bonheur ?
Merci
Zef
Him
euh ?

par défaut le .htm s'ouvrira avant le .php blush.gif

enfin du moin je crois blush.gif

Je pense donc que c'est le meme avec le .html

laisse moi 5 minutes & je fais les test ! thumbsup.gif
Crazy
Je crois aussi...
l'ordre d'ouverture des fichiers index serait le suivant :
.htm , .html , .php
j'avais lu ça dans la doc d'un hébergeur (Easynet) il y a quelques années...
wink.gif
Alain

Sinon, tu mets la ligne suivante dans ton .htaccess :
Code
RedirectPermanent   /index.php   http://www.domaine.tld/index.html

Une bonne 301 des familles !
Him
oui, mais dans ce cas la, lorsque tu vas ouvrir vouloir ouvrir la page index.php tu ne pourras plus


edit : en me relisant, je viens de captech :p

As tu essayer un chmod 444 sur ton fichier index.php ?

enfin, faut voir aussi si tu en as besoing blush.gif
Crazy
Alors, il y a une autre solution :
Suivant le cas que tu veux (avec un ou plusieurs tests), tu fais la redirection vers l'index.html dans ton index.php
Ca, ça va très bien marcher...
whistle.gif
Alain
Zef
Effectivement, je viens de trouver la réponse...

Code
// Start add - Select default HTML usage MOD
if($_SERVER['REQUEST_URI'] == "/index.php")
   {
   header ('HTTP/1.1 301 Moved Permanently');
   header('Location: http://www.helpeur.com/index.html');
   }
elseif($_SERVER['REQUEST_URI'] == "/")
   {
   header ('HTTP/1.1 301 Moved Permanently');
   header('Location: http://www.helpeur.com/index.html');
   }
// End add - Select default HTML usage MOD


directement dans le fichier 'index.php'
Problème résolu.
Zefouille ... donc je trouves (je sais elle est facile)
Patrick
icon13.gif
Crazy
TB, Bravo ! C'est exactement ce qu'il fallait faire...
Mais on peut faire plus simple (et plus rapide [niveau préprocesseur PHP]) :
Code
<?php
// Start add - Select default HTML usage MOD
$url = $_SERVER['REQUEST_URI'];
if (($url == '/') || ($url == '/index.php'))
   {
   header ('HTTP/1.1 301 Moved Permanently');
   header ('Location: http://www.domaine.tld/index.html');
   }
// End add - Select default HTML usage MOD
?>

wink.gif
Alain

PS : Explication :
Tu as une variable de plus, certes, mais tu ne parcours pas une array() deux fois...
Evidemment, le || (ou) est une des fonctions les plus lentes (c'est très rapide tout de même), elle ralentit le test. Mais il n'y en a plus qu'un qui s'arrête, la plupart du temps de suite, le cas "/" étant le plus fréquent ! D'où l'inversion entre "/" et "/index.php" dans le test.
Le bilan est que tu y gagnes sur tous les plans...
Economie de code et vitesse !
Zef
Merci pour cette réponse, c'est vrai j'avais déjà pensé à racourcir l'instruction pour cette raison mais je n'avais plus le terme à utiliser ( le fameux || ) en tête, je changes ceci de suite. Merci.
Patrick
Il est pas formidable notre Crazy ?

showoff.gif

++

Patrick
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2012 Invision Power Services, Inc.