Problème de lien entre pages web
Résolu
jenny131078
Messages postés
170
Date d'inscription
Statut
Membre
Dernière intervention
-
jenny131078 Messages postés 170 Date d'inscription Statut Membre Dernière intervention -
jenny131078 Messages postés 170 Date d'inscription Statut Membre Dernière intervention -
Bonsoir tout le monde,
Ce qui pourrait être simple devient une véritable prise de tête dans mon cas.
Je m'explique: mon site est composé d'un "index.php" qui inclut dans son header une page "menu.html", tous deux situés à la racine du site.
J'ai crée un dossier "pages" à la racine et souhaite que toutes les pages soit classées dans ce dossier, exceptés l'index et la page "contact" .
Les liens fonctionnent très bien quand je les teste à partir de la page index et contact.
Une fois que je le teste à partir d'une page située dans le dossier "pages", le navigateur me renvoie l'erreur suivante :
/monsite/pages/contact.php was not found on this server.
Effectivement elle ne s'y trouve pas puisque elle est à la racine de mon site...je ne sais même pas pourquoi il renvoie sur la page pages/contact puisque mon menu n'est pas configuré comme tel.
Voici menu.html :
<li class="menu"><a href="index.php" title="Accueil"><strong>ACCUEIL</strong></a></li>
<li class="menu"><a href="/pages/presentation.php" title="Présentation"><strong>PRESENTATION</strong></a></li>
<li class="menu"><a href="/pages/choixprod.php" title="Produits"><strong>PRODUITS</strong></a></li>
<li class="menu"><a href="pages/services.php" title="Services"><strong>SERVICES</strong></a></li>
<li class="menu"><a href="contact.php" title="Contact"><strong>CONTACT</strong></a></li>
Et voici la fonction include sur une des pages située dans mon dossier "pages"
<?php
include('../menu.html');
?>
J'ai tout retourné dans tous les sens, essayé avec ../ ou / ou ./ et rien à faire.
La seule chose qui fonctionne réellement est de mettre toutes mes pages à la racine du site ce qui m'embête car je souhaite bien tout ranger...
Si vous avez des suggestions, elles seraient plus que bienvenues
Merci
Ce qui pourrait être simple devient une véritable prise de tête dans mon cas.
Je m'explique: mon site est composé d'un "index.php" qui inclut dans son header une page "menu.html", tous deux situés à la racine du site.
J'ai crée un dossier "pages" à la racine et souhaite que toutes les pages soit classées dans ce dossier, exceptés l'index et la page "contact" .
Les liens fonctionnent très bien quand je les teste à partir de la page index et contact.
Une fois que je le teste à partir d'une page située dans le dossier "pages", le navigateur me renvoie l'erreur suivante :
/monsite/pages/contact.php was not found on this server.
Effectivement elle ne s'y trouve pas puisque elle est à la racine de mon site...je ne sais même pas pourquoi il renvoie sur la page pages/contact puisque mon menu n'est pas configuré comme tel.
Voici menu.html :
<li class="menu"><a href="index.php" title="Accueil"><strong>ACCUEIL</strong></a></li>
<li class="menu"><a href="/pages/presentation.php" title="Présentation"><strong>PRESENTATION</strong></a></li>
<li class="menu"><a href="/pages/choixprod.php" title="Produits"><strong>PRODUITS</strong></a></li>
<li class="menu"><a href="pages/services.php" title="Services"><strong>SERVICES</strong></a></li>
<li class="menu"><a href="contact.php" title="Contact"><strong>CONTACT</strong></a></li>
Et voici la fonction include sur une des pages située dans mon dossier "pages"
<?php
include('../menu.html');
?>
J'ai tout retourné dans tous les sens, essayé avec ../ ou / ou ./ et rien à faire.
La seule chose qui fonctionne réellement est de mettre toutes mes pages à la racine du site ce qui m'embête car je souhaite bien tout ranger...
Si vous avez des suggestions, elles seraient plus que bienvenues
Merci
A voir également:
- Problème de lien entre pages web
- Web office - Guide
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Verificateur de lien - Guide
- Creation de site web - Guide
4 réponses
Bonjour,
- 1ère chose à faire, changer "menu.html" en "menu.php"
vous pouvez utiliser par exemple une de ces deux solutions:
1ère solution( lien relatif):
creer deux page menu.php:
1- menu.php pour les pages se trouvant dans le racine du site
liens :
<a href="index.php" title="Accueil">ACCUEIL</a>
<a href="pages/presentation.php">PRESENTATION</a>
2 - menu.php pour les pages se trouvant dans le dossier pages
liens :
<a href="../index.php" title="Accueil">ACCUEIL</a>
<a href="presentation.php">PRESENTATION</a>
2ème solution (lien absolu):
1- tout au début de chaque page (php) vous mettez :
2- creer un dossier "include" dans lequel placer le menu.php
inclure votre menu par:
- les lien du menu.php seront:
il ya d'autres solutions plus adaptées mais si l'arborescence de votre site n'est pas trop compliquée cela devra suffire.
@+
- 1ère chose à faire, changer "menu.html" en "menu.php"
vous pouvez utiliser par exemple une de ces deux solutions:
1ère solution( lien relatif):
creer deux page menu.php:
1- menu.php pour les pages se trouvant dans le racine du site
liens :
<a href="index.php" title="Accueil">ACCUEIL</a>
<a href="pages/presentation.php">PRESENTATION</a>
2 - menu.php pour les pages se trouvant dans le dossier pages
liens :
<a href="../index.php" title="Accueil">ACCUEIL</a>
<a href="presentation.php">PRESENTATION</a>
2ème solution (lien absolu):
1- tout au début de chaque page (php) vous mettez :
<?php define('dir_ws', 'http://www.votresite.com/'); ?>
2- creer un dossier "include" dans lequel placer le menu.php
inclure votre menu par:
<?php include_once(dir_ws . 'include/menu.php'); ?>
- les lien du menu.php seront:
<a href="<?php echo(dir_ws); ?>index.php">ACCUEIL</a> <a href="<?php echo(dir_ws); ?>pages/presentation.php">PRÉSENTATION </a>
il ya d'autres solutions plus adaptées mais si l'arborescence de votre site n'est pas trop compliquée cela devra suffire.
@+
Bonsoir,
Merci pour votre aide. J'ai bien pensé à la solution n°1 mais j'ai pas osé...
J'ai testé la solution n°2 qui me plait plus mais chez moi elle ne fonctionne pas : erreur dans la ligne qui correspond à la fonction <?php include_once(dir_ws . 'include/menu.php'); ?>
"wrapper is disabled in the server configuration by allow_url_include=0 in C:\wamp\www\mon site\index.php on line 37"
Je vais donc me rabattre sur la solution n°1, l'avantage d'avoir le choix:)
@+
Merci pour votre aide. J'ai bien pensé à la solution n°1 mais j'ai pas osé...
J'ai testé la solution n°2 qui me plait plus mais chez moi elle ne fonctionne pas : erreur dans la ligne qui correspond à la fonction <?php include_once(dir_ws . 'include/menu.php'); ?>
"wrapper is disabled in the server configuration by allow_url_include=0 in C:\wamp\www\mon site\index.php on line 37"
Je vais donc me rabattre sur la solution n°1, l'avantage d'avoir le choix:)
@+
Bonjour,
à la racine de votre site, créez un dossier nommé "include" et y placer le fichier menu.php.
- pour les page se trouvant à la racine du site, inclure votre menu par:
pour les liens relatifs:
- remonter dans le repertoire parent:
@+
à la racine de votre site, créez un dossier nommé "include" et y placer le fichier menu.php.
<ul id="menu"> <li><a href="/">ACCUEIL</a></li> <li><a href="/pages/presentation.php">PRESENTATION</a></li> <li><a href="/pages/choixprod.php">PRODUITS</a></li> <li><a href="/pages/services.php">SERVICES</a></li> <li><a href="/contact.php">CONTACT</a></li> </ul>
- pour les page se trouvant à la racine du site, inclure votre menu par:
<?php include_once('include/menu.php'); ?>- pour les page se trouvant dans le dossier "page", inclure votre menu par:
<?php include_once('../include/menu.php'); ?>
pour les liens relatifs:
- remonter dans le repertoire parent:
<a href="../repertoire-parent/ma-page.html>ma page</a>- descendre dans l'arborescence:
<a href="repertoire/ma-page.html>ma page</a>pour le style de menu il serai mieux de le faire à l'aide d'une feuille de style css externe:
#menu {................} #menu li {...............} #menu li a {..............}
@+
Bonjour,
Je vais rester sur la solution des liens relatifs, j'ai également un footer.php avec un lien hypertexte renvoyant sur une autre page php et pour qu'il fonctionne je suis obligée de le copier à la racine du site et dans mon dossier "pages".
Je vais en faire de même avec le menu.php, je vois plus l'intérêt d'avoir un dossier "include" si je ne peux y placer tous les fichiers à inclure.
Mon menu a bien une feuille de style CSS externe dédié à lui seul;)
Merci pour votre aide
@++
Je vais rester sur la solution des liens relatifs, j'ai également un footer.php avec un lien hypertexte renvoyant sur une autre page php et pour qu'il fonctionne je suis obligée de le copier à la racine du site et dans mon dossier "pages".
Je vais en faire de même avec le menu.php, je vois plus l'intérêt d'avoir un dossier "include" si je ne peux y placer tous les fichiers à inclure.
Mon menu a bien une feuille de style CSS externe dédié à lui seul;)
Merci pour votre aide
@++