Bonjour,

Mon index a un lien vers les pages de mon blog.
Avant d'heberger mon site, il marchait bien en interne. Malheureusement, ce n'est plus le cas et je n'arrives pas à en trouver la cause.

Ca c'est la page de blog

<div class="row">

        <div class="ardoisepost" >
            <div class="d-flex justify-content-center" id="ardoisepostm">
                <span style="color:white">
          <p class="titrepost" ><?php echo $post->name; ?></p>
            <?php $title_for_layout = $post->name; ?>
            <?php echo $post->content; ?>

                </span>
            </div>
        </div>            

    </div>

Et ça mon index (qui lui, fonctionne bien)

<div class="ardoise">
        <span style="color:white">
            <?php foreach ($posts as $k => $v): ?>
            <p style="font-weight:bold;"><?php echo $v->catname; ?></p>
            <p style="font-weight:bold; text-decoration:underline;"><?php echo $v->name; ?>,<a href="<?php echo Router::url('posts/category/slug:'.$v->catslug); ?>"></a></p>
            <?php echo substr(strip_tags($v->content),0,300); ?>...
            <a href="<?php echo Router::url("posts/view/id:{$v->id}/slug:$v->slug"); ?>" class="flotte" style="color:#F85D42; font-weight:bold; font-style:oblique;" id="lien1"><img src="http://www.***/webroot/img/fleche.png" class="imgfleche1" alt="" />Lire la suite</a>
            <p>&nbsp;</p>
            <?php endforeach ?>
        </span>
      </div>

Quand le click sur le lien, il cherche bien la page, c'est la bonne adresse. mais voilà ce que ça affiche:

Ce site est inaccessible
Impossible de trouver l'adresse DNS du serveur blog.
Effectuez une recherche Google sur blog tout pour musique.
ERR_NAME_NOT_RESOLVED

Quelcun pour m'aider à trouver l'erreur ? merci à vous.

15 réponses


JoHuv
Auteur

En fait, je crois que c'est toutes les pages "posts" qui ne fonctionnent pas. Dans ma page administration j'ai un lien pour modifier/ajouter/supprimer les articles et ça m'affiche la même chose: "Ce site est inaccessible".

Mon postController :

/**
* Permet d'afficher les posts d'une catégorie
**/
function category($slug){
    $this->loadModel('Category'); 
    $category = $this->Category->findFirst(array(
        'conditions' => array('slug' => $slug),
        'fields'     => 'id,name'
    ));
    if(empty($category)){
        $this->e404();
    }
    $perPage = 10; 
    $this->loadModel('Post');
    $condition = array('online' => 1,'type'=>'post','category_id' => $category->id); 
    $d['posts'] = $this->Post->find(array(
        'conditions' => $condition,
        'fields'     => 'Post.id,Post.name,Post.slug,Post.created,Category.name as catname,Post.content,Category.slug as catslug',
        'order'      => 'created DESC',
        'limit'      => ($perPage*($this->request->page-1)).','.$perPage,
        'join'       => array('categories as Category'=>'Category.id=Post.category_id')
    ));
    $d['total'] = $this->Post->findCount($condition); 
    $d['page'] = ceil($d['total'] / $perPage);
    $d['title'] = 'Tous les articles "'.$category->name.'"'; 
    $this->set($d);
    // Le système est le même que la page index alors on rend la vue Index
    $this->render('index'); 
}

/**
* Affiche un article en particulier
**/
function view($id,$slug){
    $this->loadModel('Post');
    $d['post']  = $this->Post->findFirst(array(
        'fields'     => 'Post.id,Post.content,Post.name,Post.slug,Category.name as catname,Category.slug as catslug',
        'conditions' => array('Post.online' => 1,'Post.id'=>$id,'Post.type'=>'post'),
        'join'       => array('categories as Category'=>'Category.id=Post.category_id')
    )); 
    if(empty($d['post'])){
        $this->e404('Page introuvable'); 
    }
    if($slug != $d['post']->slug){
        $this->redirect("posts/view/id:$id/slug:".$d['post']->slug,301);
    }
    $this->set($d);
}

Tu utilise le système des include ou require ?

JoHuv
Auteur

Bonjour,
J'ai un fichier "includes" avec des require.

<?php
require 'Session.php';
require 'Form.php';
require 'functions.php';
require 'Router.php';

require ROOT.DS.'Config'.DS.'conf.php';

require 'Request.php';
require 'Controller.php';
require 'Model.php';
require 'Dispatcher.php';

C'est possible que soit le chemin include_path qui te fasse merder tout le site !

JoHuv
Auteur

Pourtant ce n'est que la partie blog qui merde. Pas les pages, ni la connection à la bdd. Comment puis-je vérifier ça ?

Fait afficher tout les erreurs avec <?php ini_set('display_errors', 1); ?> au début de ta page et regarde ce que cela t'affiche !

JoHuv
Auteur

je l'ai mis sur mon index, ça n'affiche rien, alors je me suis dit que je faisais erreur sur l'endroit où le mettre: sur mon "post", rien, mon postController rien, j'ai essayé aussi sur mon include, mon controller... rien: aucune erreur s'affiche.

Salut,
faut aller voir les logs apache et php.

@plus.
Pierre

JoHuv
Auteur

Salut Pierre, mon soucis est que j'ai un hebergement gratuit. La log n'est pas dispo. Je viens de regarder: il faut la version payante.

tu es chez quel hébergeur ?
@plus
Pierre

JoHuv
Auteur

hebergergratuit.net

existe pas :D
@plus
Pierre

@Pierrot01: Je pense qu'il voulait dire Hebergratuit.com.

JoHuv
Auteur

En effet, pardon, c'est www.hebergratuit.com

JoHuv
Auteur

Bonjour, Merci pour la participation. Je galère encore et encore...
Jeffrey, je ne te suit pas. Les paramètres de quoi ? car ça fait au moins une heure que je cherche les permaliens dans le Cpanel de l'administration ...