Bonjour,
J'ai suivi le tutoriel developper un site de A à Z avec le modéle MVC. Dans le cadre d'un stage,j'ai mis en place ce même sytéme et tout fonctionne bien en local.

Quand j'ai mis le site en ligne,la page d'accueil s'affiche mais lorsque je clique sur un lien du menu pour atteindre une page, je tombe sur une page blanche sur laquelle est marqué File not found. Le site est hébergé chez ovh.

J'ai besoin de votre aide.
Merci d'avance.

La page index.php que j'ai un peu modifié

<?php
define('WEBROOT',dirname(__FILE__)); 
define('ROOT',dirname(WEBROOT)); 
 define('DS',DIRECTORY_SEPARATOR);
define('CORE',ROOT.DS.'core'); 
 define('BASE_URL',($_SERVER['SERVER_ADDR'] == '127.0.0.1') ? dirname(dirname($_SERVER['SCRIPT_NAME'])) : '');
 require CORE.DS.'includes.php'; 
new Dispatcher(); 
?>
}

Request.php que j'ai modifié aussi

<?php
class Request{
public $url;                // URL appellé par l'utilisateur
public $page = 1;           // pour la pagination 
public $prefix = false;     // Prefixage des urls /prefix/url
public $data = false;       // Données envoyé dans le formulaire

function __construct(){
    $this->url = isset($_SERVER['REQUEST_URI'])?current(explode('?',$_SERVER['REQUEST_URI'])):'/';
    // Si on a une page dans l'url on la rentre dans $this->page
    if(isset($_GET['page'])){
        if(is_numeric($_GET['page'])){
            if($_GET['page'] > 0){
                $this->page = round($_GET['page']); 
            }
        }
    }
    // Si des données ont été postées on les entre dans data
    if(!empty($_POST)){
        $this->data = new stdClass(); 
        foreach($_POST as $k=>$v){
            $this->data->$k=$v;
        }
    }
 }
}

3 réponses


pacodi57
Auteur
Réponse acceptée

Salut,

Aprés 3 jours de galère, de recherches intensives, j'ai pu enfin trouvé une solution : j'ai modifié le fichier .htaccess se trovant dans weebroot

RewriteEngine On
RewriteCond %{REQUEST_URI} !=index.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php?req=$1 [L,PT]

Au lieu de

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php/$1 [L]

Merci de bien formater ton post, sinon il sera supprimé.

pacodi57
Auteur

Merci grafikart, j'ai formaté mon post. J'espére que quelqu'un pourra m'aider.ça fait trois jours que je suis bloqué,j'ai fais des recherches,des modifications mais rien.

Je compte sur vous.Merci d'avance.