Bonjour bonjour,

J'ai un souci avec le MVC et son installation sur un serveur dédié d'ovh.
Depuis le super tuto de Grafikart sur le framework MVC ou comment développer un site en 7 jours, j'utilise le MVC pour créer mes sites.
Je n'ai jamais eu de souci au passage du local à la prod' sur hébergement mutualisé (toujours chez ovh).

Mais là, je souhaiterais "installer" un nouveau site sur un serveur dédié et là ... c'est le drame ... :)

J'ai bien ma vue de la page d'accueil qui s'affiche mais dès que je veux aller ailleurs (genre la page contact ou l'admin ) bin j'ai toujours la page d'accueil mais avec l'url de la page que j'avais demandée.

Si quelqu'un peut venir me sauver, j'en serais très heureuse. :)

PS : il fonctionne très bien en local et sur hébergement mutualisé.

15 réponses


FannyM
Auteur
Réponse acceptée

Salut,

Désolé de ne pas avoir répondu avant. En effet, le problème est réglé :D !!!!!

Alors j'ai testé les RewriteBase /www et aucun effet. Et Jeudi à 17h57, une illumination m'est apparu : le path_info.

Les premières choses que j'avais vérifié sur le http.conf c'était que modrewrite était installé et le pathinfo était activé. J'avais donc rajouté la ligne de code qu'il fallait pour ça.

Je suis allé jeté un oeil à la classe Request et au lieu d'avoir $_SERVER'PATH_INFO'] qui est aimé par les mutualisés, je l'ai changé en $_SERVER'ORIG_PATH_INFO']...

Et là, le miracle lol

Donc voila ma solution certes très romancée (chuis une fille j'ai le droit). J'espère que ça te servira Dareka !!!!

Merci Xtr3me pour l'info du scroll et pour ton aide ^^.

Maintenant j'ai juste un souci avec mail() mais là c'est la faute au serveur SMTP.

Salut,

Personnellement en passant le site en local sur serveur mutualisé (1&1) j'ai eu un tas de problème que j'ai finalement réglé, c'est une question de serveur réglé différemment surtout donc à voir au niveau de tes fonctions webroot et url ou des constantes ROOT et WEBROOT. Tu pourrais nous passer le lien du site en question ? Histoire de voir le problème en l'état.

Ola,
j'ai déja eu un probleme similaire
et en fait mon dédié était sur PHP 4 j'ai du cocher php 5 dans webmin, puis redémarrer les services...
un petit phpinfo(); te donnera la config actuelle

FannyM
Auteur

Hi !
Merci de ta réponse :) voila le lien : http://www.photographe-studio-mk.fr
Du coup je vais voir les fontions webroot et url.

//Edit Wael83
J'ai aussi vérifié ma version de php, j'ai bien la 5, je l'ai même forcé dans mes htaccess avec SetEnv PHP_VER 5.
Le phpinfo() me confirme la version par contre je sais pas si mon mod_rewrite est vraiment activé.
Je fais pas confiance au webmin lol.

Tu as un problème au niveau de la création de tes liens, pour vérifier que ce soit bien ça au lieu de faire dynamiquement la redirection avec la fonction url, mets un lien absolu pour l'un des boutons et tu verras si ça fonctionne. Actuellement en regardant les propriétés de chaque bouton,il renvoit tous sur la page d'accueil.
Voici ma fonction url par exemple:

/**
    * Permet de générer une url à partir d'une url originale
    * controller/action(/:param/:param/:param...)
    **/
    static function url($url = ''){
        trim($url,'/'); 
        foreach(self::$routes as $v){
            if(preg_match($v'originreg'],$url,$match)){
                $url = $v'redir']; 
                foreach($match as $k=>$w){
                    $url = str_replace(":$k:",$w,$url); 
                }
            }
        }
        foreach(self::$prefixes as $k=>$v){
            if(strpos($url,$v) === 0){
                $url = str_replace($v,$k,$url); 
            }
        }
        return BASE_URL.'/'.$url; 
    }
FannyM
Auteur

Re,

J'ai essayé ta fonction url et ça m'a tout planté lol en fait j'avais plus aucun lien.
Même en mettant un chemin du type pages/view/4 ça me fait la même erreur, vas-y que je te retourne la page d'accueil.

Penses-tu que ça peut venir des htaccess ?

Possible oui ça m'est déjà arrivé aussi, une fois c'était la fonction url qui plantait l'autre fois c'était le .htaccess à la racine, montre le nous au pire ^^ .

FannyM
Auteur

Et voila les htaccess :
le 1er qui est dans le www :

RewriteEngine On
RewriteRule (.*) webroot/$1 [L]

le 2eme dans webroot :

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

j'ai tenté avec le / devant webroot et/ou index et moi ça fait tout planté.
Je me dis aussi que peut-être il ne reconnait pas la racine www vu que je suis sur un serveur dédié

Salut
J'ai exactement le même problème avec mon site en construction.
FannyM, j'ai visité ton site, le problème semble réglé, non ?
Si c'est le cas, pourrais-tu me dire comment tu t'y es prise ?
Merci par avance ;)

Met un RewriteBase /www on sait jamais que ça régle le soucis, dans les deux .htaccess
Sinon il y a des options à mettre du genre Multiviews etc... je sais que sur mon serveur ça ne marche pas sans ça ^^ .
Essaye ça pour ton .htaccess(avec le slash et sans le slash devant webroot) à la racine et rajoute l'option à l'autre.

Options +FollowSymLinks
RewriteEngine on
RewriteBase /www
RewriteRule (.*) /webroot/$1 [QSA,L]

Rajoute: la règle
overflow-y:scroll; à ton body ça évitera que lorsqu'on change de page pour une page où il n'y pas beaucoup de contenu que la disparition ou l'apparition de la barre de scroll ne déforme pas le site ^^. Ainsi tu auras toujours une barre de scroll qui sera inactif lorsqu'il n'y aura pas besoin de scroll et actif lorsqu'il sera nécessaire de faire un scroll.

Hello Xtr3me,
Perso j'ai suivis ton conseil, j'avais

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule (.*) /Site/webroot/$1 [L]

Et j'ai mis ça :

Options +FollowSymLinks
RewriteEngine on
RewriteBase /www
RewriteRule (.*) /Site/webroot/$1 [QSA,L]

Mais ça ne change rien malheureusement :(
Lorsque je clique sur "lire plus" dans mes posts, ça me redirige vers le bon url (avec les bons slugs), mais c'est toujours la page d'accueil qui s'affiche.

Je viens de tester et... CA MARCHE PARFAITEMENT !!!!

Merci FannyM, tu déchire !! Ça faisait des mois que je ramais sans que personne ne me vienne en aide.
Tu viens de sauver un site. xD !!
GRAND MERCI ;)

FannyM
Auteur

C'est super Dareka !! :-D Je suis contente que ça fonctionne pour toi !!

Ok tant mieux si le problème est réglé ^^ . Quel est donc le problème avec la fonction mail ? Personnellement j'ai pas eu besoin de régler quoique ce soit mais sans doute parce que je suis en mutualisé sûrement.

FannyM
Auteur

Je me suis pas encore penché réellement sur le problème mais j'ai besoin d'utiliser la fonction mail() et quand je lance mon bout de code : pas de mail dans ma boite.