Bonjour à tous. Je n'ai pas pour habitude de poser des questions sur un forum, mais là je dois avouer que je sèche complètement sur un problème que j'imagine très bête.

J'ai regardé les 7 tutoriels de la série des "Développer un site de A à Z", et actuellement au niveau du code je me place a la 5ème étape. Possédant un espace mutualisé chez OVH, j'ai voulu voir ce que ça donne "online". J'envoie donc le tout sur le serveur (j'ai créé un sous domaine pour l'occasion, mais c'est du temporaire).
Lorsque je vais sur la page, les données sont bien récupérées, mais c'est au niveau du Routing que ça foire. Les liens ne sont pas précédés par le nom de domaine et pointent pour les "pages", par exemple, vers "pages/view/1". En revanche lorsque je tape moi même l'url, les liens sont de la forme "http://www.nomdedomaine.fr/ webroot /pages/view/1". J'ai supposé, peut être a tord, que cela pourrait venir de la constante BASE_URL.
Voici le lien pour que vous puissiez voir de vous même : http://admin.jeunesseduprintemps.fr/

PS: Pour le lien en lui même, je sais que mettre "admin" en sous domaine c'est vraiment nase, mais j'étais pas vraiment inspiré, et puis c'est du temporaire comme je l'ai dit ^^
PS 2: À savoir que j'ai testé en local en modifiant ma config apache pour simuler un nom de domaine, et que le problème est identique.

Merci d'avance.

9 réponses


Grafikart
Réponse acceptée

Un debug de Base_URL donne quoi ? En fait il met // dans le début de l'url, c'est de là que ça vient.

xx12311
Auteur
Réponse acceptée

Bonjour tout le monde, et merci à ceux qui ont prit le temps de se pencher sur ma question. Je pense avoir trouver une solution à mon problème. Comme je le pensais, la solution était aussi stupide que la question.

Le problème était effectivement au niveau de BASE_URL. Pour le régler voici la méthode :

Remplacer ceci :

define('BASE_URL', dirname(dirname($_SERVER'SCRIPT_NAME'])));

Par cela (à adapter chez vous) :

define('BASE_URL', 'http://www.monsite.com');

Cela permet de s'affranchir des doubles '/' comme l'a remarqué Graf.
Chez moi ça fonctionne, je vous en souhaite autant ;)

xx12311
Auteur

Tout d'abord, merci d'avoir prit le temps de lire le sujet.
Ensuite pour le debug de BASE_URL voici ce que ca donne :
http://admin.jeunesseduprintemps.fr => sur la page d'accueil
http://admin.jeunesseduprintemps.fr/posts/index => sur le controller Post

Le debug est placé dans le fichier index.php

J'ai remarqué qu'au tutoriel 6, tu proposes une nouvelle version de la classe Router, est-ce que cela pourrait résoudre le problème ? J'utilise actuellement la version proposée jusqu'au tutoriel 5.

Voici le code de l'index. Je pense qu'il est sensiblement identique au tient :

<?php
$start = microtime(true);
define('WEBROOT', dirname( __FILE__ ));
define('ROOT', dirname(WEBROOT));
define('DS', DIRECTORY_SEPARATOR);
define('CORE', ROOT.DS.'core');
define('BASE_URL', dirname(dirname($_SERVER'SCRIPT_NAME'])));
require (CORE.DS.'load.php');
new Dispatcher();
debug(BASE_URL);
echo '
    <div id="error_hide" style="cursor:pointer;position:fixed;bottom:30px;background:#900;color:#fff;line-height:30px;width:30px;height:30px;left:5px;right:0px;text-align:center;border-top-left-radius:10px;border-top-right-radius:10px;">↓</div>
    <div style="position:fixed;bottom:0px;background:#900;color:#fff;line-height:30px;height:30px;left:0px;right:0px;padding-left:10px;">
    Page générée en : ',round(microtime(true) - $start,5),' secondes.
        </div>';
?>

Encore une fois merci. J'espère résoudre ce problème, et par la même occasion résoudre celui des personnes dans la même situation que la mienne ^^

PS : J'ai retiré les informations relatives au chemin dans le debug, car il donne accès a mon répertoire utilisateur d'OVH. Si ces informations sont nécessaires je peux les communiquer mais pas sur le forum directement.

Hi! Juste pour savoir si tu avais réussi à résoudre le problème car j'ai eu le même soucis et je n'ai pas réussi à trouver le pourquoi de cette erreur.

xx12311
Auteur

À l'heure actuelle, je pense que le problème est, comme l'a dit Graf, un double "/" qui se met dans l'url. Pour ce qui est de la résolution de ce problème je cherche toujours ^^ Si je suis sur une piste je tiens au courant ;)

Hi! Bon p-e que je vais dire une connerie mais je pense que le problème provient de .htaccess j'ai fais quelques modifications l'url change mais pas la page.

salut,
au niveau d'accès à la partie administration de site? est ce que vous avez eu de problème? comment vous accédez au cette partie ?
j'ai réussi à mettre le site en ligne et ça marche bien mais la partie administration j'arrive pas à se connecter la dessus question tout bête je sais :)
merci d'avance

moi aussi j'ai mis le site en ligne mais j'arrive pas à me connecter à la partie administration.
est ce que vous avez réussi à trouver la solution?
merci d'avance

Bonjour, j'ai actuellement le même problème que toi, je suis chez OVH avec un hébergement mutualisé, sa fonctionne or je n'ai pas accès aux pages et a l'espace d'administration. La seule chose ou je peut navigué c'est l'actualité.

J'ai cherché partout sur le forum une solution je n'ai rien pu trouver.
Si il est possible que quelqu'un me vienne en aide sa serais magnifique.