Rechercher : dans
Par :

PHP: mon site démarre seulement index.php

Dernière réponse le 13 fév 2007 à 18:19:22 midiweb, le 13 fév 2007 à 11:03:48 
 Signaler ce message aux modérateurs

Salut , j'ai utilisé les pseudo-frames pour développer un site bilingue allemand-francais pour un client. Il n'y a donc pas de fichier index.html mais un index.php puisque j'utilise du PHP dans le fichier index avec aussi des fichiers CSS.
Mon problème est le suivant, www..lesite.com ne s'affcihe pas entièrement mais seulement la page du milieu. Il faut que j'entre www.lesite.com/index.php pour que tout s'affiche et fonctionne correctement, mais mon client ne veut pas entrer "index.php" avec le nom de son site, ce que dit-il, peu de gens feraient aussi, s'ils veulent consulter son site.
Je ne peux pas évidement remettrre un index.html.
Que faire pour remédier à cela.?
Merci de votre aide

Configuration: Windows XP
Firefox 2.0.0.1

1

_goni, le 13 fév 2007 à 11:06:20

Salut,
Pour moi, il faut que ton nom de domaine pointe vers ton index.php. Benoit.
Enlèves tes doigts sales de mon clavier.

Répondre à _goni

4

midiweb, le 13 fév 2007 à 14:46:10

Salut, merci.Justement, je ne sais pas comment on fait?

Répondre à midiweb

2

BugMaker, le 13 fév 2007 à 12:32:56

Salut,
ou bien tu fais une page index.html vide qui redirige automatiquement sur ton index.php; c'est ce que j'ai fait pour un site il y a quelques années.
@+
phil S'il n'y a pas de solution, c'est qu'il n'y a pas de problèm­e !

Répondre à BugMaker

3

midiweb, le 13 fév 2007 à 14:45:13

Salut, merci. Je cherche comment faire justement ce lien avec index.php. Un lien qui ne serait pas conditionné par un clic mais forcé.
Un idée:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
</head>

<body>
<a href="index.php"></a>
</body>
</html>

Répondre à midiweb

5

Reivax962, le 13 fév 2007 à 15:00:53

Bonjour,

Alors, les deux possibilités t'ont déjà été exposées.

1 - Il faut que www.lesite.com pointe directement sur index.php.
Pour cela, il faut configurer ton serveur Web pour que la page par défaut soit index.php et non pas index.html ; dans ce cas, il faut voir avec l'administrateur web du site. Cela dépend du serveur (Apache, IIS, ...), il faut en modifier la configuration.

2 - Tu gardes index.html, et c'est lui qui fait une redirection sur index.php. C'est moins propre, mais plus facile à faire.
Voilà le texte qu'il faut y mettre :

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
       <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
       <meta http-equiv="refresh" content="0; url=http://www.monsite.fr/index.php" />
       <title>Redirection</title>
       <meta name="robots" content="noindex,follow" />
   </head>

   <body>
      <p>
         <a href="http://nouvelle.adresse.fr/dossier2/page2.html">Redirection</a>
      </p>
   </body>
</html>

Et une troisième possibilité, pour serveur Apache :
3 - Edite (avec le bloc note) le fichier nommé .htaccess de la racine de ton site web. S'il n'existe pas, crée-le.
Il faut qu'il contienne les lignes suivantes :
<Files .htaccess>
order allow,deny
deny from all
</Files>
Redirect permanent /index.html http://www.lesite.com/index.php 


A mon avis, dans l'ordre de "propreté", il faut préférer la 1ère solution, puis la 3e et enfin la 2nde (car celle-ci sera visible par l'utilisateur)

Pour finir, je te conseille ce site qui m'a l'air assez complet : http://alexandre.alapetite.net/doc-alex/redirections/index.fr.html

Xavier

Répondre à Reivax962

6

midiweb, le 13 fév 2007 à 15:16:54

Salut, merci. Pour te répondre:
Solution 1. :
je vois mal mon provider (en Allemagne) changer rien que pour moi la configuration de leurs serveurs. Mais qui sait? Je peux toujours leur mailer.
Solution2: celle que j'envisage. Donc si je comprends bien, je devrai avoir ceci:
<a href="http://lesite.com/index.php">BIENVENUE BLABLA BALABLA, ENTREZ</a>
Je précise que sur mon serveur local, sur mon pc, avec WAMP, tout fonctionne nickel, ainsi que sur un autre serveur.
a+

Répondre à midiweb

7

Reivax962, le 13 fév 2007 à 15:24:01

Alors, pour le 1, c'est une configuration qui est liée au nom de domaine. Donc il ne changera pas la config de tous ses sites juste pour toi, il changera uniquement la configuration de ton site : c'est son boulot ! Aucune raison pour qu'il refuse... (Sauf si bien sûr dans le contrat il y a écrit qu'il ne propose pas ce service... Mais franchement, ce serait très étonnant pour un hébergement professionnel).

Sinon, ce qui est important dans le point 2, ce n'est pas le lien, c'est la ligne
<meta http-equiv="refresh" content="0; url=http://www.monsite.fr/index.php" />

C'est elle qui effectue la redirection, au bout de 0 millisecondes (donc, tout de suite).
Le lien n'est là qu'au cas où le navigateur du client de supporte pas les redirection (vieux navigateurs, ou option désactivée). Mais pour 95% de tes visiteurs, il n'y a pas besoin de cliquer sur le lien.

Répondre à Reivax962

8

midiweb, le 13 fév 2007 à 17:19:33

Salut, j'ai téléphoné au service clientèle de mon provider. Leurs serveurs sont correctement bien réglés pour le php. Le technicien m'apprend que cela vient de mes frames: "index.php" ne télécharge qu'un seul frame, donc une seule page et non tous les frames. J'utilise en fait les pseudo-frames avec du css. Voici mon code:

/* CSS Document */

.font {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: normal;
font-style: normal;
font-variant: normal;
}

.gras {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
font:
font-weight: normal;
font-style: normal;
font-weight: bold;
}

body {
position: absolute;
margin: 0em;
margin-left: 0em;
padding: 0em;
width: 100%;
height: 100%;

}

div#haut {
margin-bottom:auto;
margin-top:auto;
width: auto;
height: 0.50em;


}

div#conteneur {

height: 100%;
width: 100%;
float:left;
}


#menu {
position: absolute;
width: 126px;
height: 550px;
margin: 0px;
padding: opx;
left: -15px;
/*padding-left:inherit;*/
margin-top: 170px;
top: 3px;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000066;
background-color:#FFFFFF;

}

/*#menu ul li{

border-top: 1px dashed #000;
padding-bottom: 5px;
width: 90px
} */


a:link {
color: #000066;

}

a:visited {
color:#000000;
}

a:hover {
color: #867653;

}

a:active {
color:#000000;
}


#frame {
position:relative;
margin-top: 140px;
margin-left: 120px; /* on place ce bloc à droite du bloc menu de 180px de large */
margin-bottom: 0px;
padding: 10px;
padding-top: 5px;
height: 70%;
width: 902px;
overflow: auto; /*cette propriété va permettre le scroll de ce bloc */
font-size: 11px;
font-family: Arial, Helvetica, sans-serif;
border-left:dotted thin;

}

#bas {
position:relative;
margin:0px;
margin-top: auto;
width: 860px;
height: 50px;
top: 0px;

}

</style>



NB: certains attributs sont volontairement désactivés, en commentaire.

Répondre à midiweb

9

midiweb, le 13 fév 2007 à 17:23:03

(suite) j'oubliais mon code index.php, ci-après (Il y a une partie en allemand mais cela ne change rien à la logique du code)


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Sonja Steineck - Rechtsanwältin - Berlin</title>

<link href="frames.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="haut"><img src="bilder/banner-bearbeitet2.jpg" width="1024" height="144" /></div>

<div id="menu">
  <ul>
<li>
<strong><a href="index.php?page=home" class="Style1">Home</a><br />
    </strong><br />
</li>
<li>
 <strong><a href="index.php?page=profil" class="Style1">Kanzleiprofil</a><br />
    </strong><br />
</li>
<li><strong><a href="index.php?page=gebiet" class="Style1">Rechtsgebiete</a></strong></li>
<dt><a href="index.php?page=zivilrecht" class="Style1">Allgemeines Zivilrecht</a></dt> 
<dt><a href="index.php?page=insolvenzrecht" class="Style1">Insolvenzrecht</a></dt>
<dt><a href="index.php?page=strafrecht" class="Style1">Strafrecht</a></dt>
<dt><a href="index.php?page=verkehrsrecht" class="Style1">Verkehrsrecht</a></dt>
<dt><a href="index.php?page=inkasso" class="Style1">Inkasso</a> </dt>
<dt><a href="index.php?page=hartz" class="Style1">ALG II / Hartz IV</a></dt>
<br /><br />

</li>
<li><strong><a href="index.php?page=kosten" class="Style1">Kosten</a> <br />
      </strong><br />
</li>

<li>
<strong><a href="index.php?page=hinweise" class="Style1">Wichtige Hinweise</a> <br />
    </strong><br />
</li>
<li>
<strong><a href="index.php?page=kontakt" class="Style1">Kontakt</a><br />
    </strong><br />
</li>

<li>
<strong><a href="index.php?page=formular" class="Style1">Formular</a><br />
    </strong><br />
</li>
<li>
<strong><a href="index.php?page=impressum" class="Style1">Impressum</a> <br />
    </strong></li>	
</ul
>
</div>
<div id="frame">
<?php 
if (!isset($_GET['page'])) $page= 'home'; else $page= $_GET['page']; 
 switch($page)
{
case 'home': include ('home.php');break;
case 'profil': include ('profil.html');break;
case 'rechtsgebiete': include ('rechtsgebiete.html');break;
case 'zivilrecht': include ('zivilrecht.html');break;
case 'insolvenzrecht': include ('insolvenzrecht.html');break;
case 'strafrecht': include ('strafrecht.html');break;
case 'verkehrsrecht': include ('verkehrsrecht.html');break;
case 'inkasso': include ('inkasso.html');break;
case 'hartz': include ('hartz.html');break;
case 'rechtsgebiete': include ('rechtsgebiete.html');break;
case 'kosten': include ('kosten.html');break;
case 'hinweise': include ('hinweise.html');break;
case 'kontakt':include ('kontakt.html');break;
case 'formular':include ('formular.html');break;
case 'impressum':include ('impressum.html');break;
} 
?>
</div>
<div id="bas">
<table>
      <tr>
        <img src="bilder/banner-unten.jpg" />    </tr>
</table>
    <p align="center"> </p>
</div>
</body>
</html>

Répondre à midiweb

10

Reivax962, le 13 fév 2007 à 17:31:46

Je ne pense pas que le technicien ait directement répondu à ta question ^^'

Le fait que ça marche si tu rentres tonURL/index.php montre bien que le problème ne vient pas de l'usage de tes pseudo frames...

Que se passe-t-il si tu supprimes le "index.html" ? Si ça se trouve, le serveur gère bien les index.php, mais ne le fait que s'il n'y a pas de index.html ?

Sinon, donne-moi l'adresse de ton site que je regarde de plus près.

Xavier

Répondre à Reivax962

11

 midiweb, le 13 fév 2007 à 18:19:22

Salut, problème résolu, enfin cela y paraît! J'ai lancé mon FTP, et j'ai vu qu'un fichier était resté en .htm et n'était pas renommé comme les autres en html. Donc le script php, ne trouvait pas le "nomdufichier.html" et n'afcfichait donc que ce qu'il trouvait.
À suivre donc.
a+

Répondre à midiweb