Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MkFramework Discussion :

Problème dURL rewriting


Sujet :

MkFramework

  1. #1
    Nouveau membre du Club
    Problème dURL rewriting
    Bonjour,

    J'ai mis en prod mon site réalisé avec le framework (http://www.chomeurs-solidaires.fr).

    tout fonctionne bien, sauf l'url-rewriting.

    Pourtant, il fonctionne bien en local, et j'ai la même arborescence en local et en prod, à l'exception du répèretoire lib qui se trouve deux crans plus haut.

    Le path.ini est correct puisque le site fonctionne bien.

    j'utilise le même routing.ini puisque les règles sont les mêmes, et fonctionnent en local.

    Mais en prod, quand j'active l'ure rewriting, j'ai systématiquement une erreur 404.

    Dans le fichier de logs, j'ai cette ligne qui apparaît souvent :

    plugin_routing regle non trouve, utilisation de 404 loadModuleAndAction(annonces::list), que j'ai aussi sur certaines pages en local.

    En revanche, je n'ai jamais les mentions du type : plugin_routing2016-06-01;23:59:44;info;--vue: initialisation [datatables::list], ce qui confirme que l'ul rewriting ne marche pas.

    Même quand les règles ne sont pas executées, la page par défaut n'est pas chargée (par exemple pour la page d'accueil).

    C'est comme le plugin échouait dans toutes ses redirections.

    Est-ce qu'il y a un paramétrage spécial à faire au niveau du plug_in routing ?

    Merci

  2. #2
    Rédacteur

    Bonjour,
    je vous invite à bien suivre ce tutoriel
    http://mkframework.com/faq.html#urlrewriting

    En effet, votre adresse URL de devrait pas poionter sur monsite.com/public, mais monsite.com, c'est le role du "document root"

    C'est à dire que la racine de votre site web est le répertoire public, ce qui n'est pas le cas ici: on arrive sur http://www.chomeurs-solidaires.fr/public/

    Je vous invite dans un premier temps à changer ceci

    Ensuite le module d'url rewriting est il bien présent ?
    Il n'est pas activé ici sur l'adresse du site que vous avez donnez si ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Nouveau membre du Club
    Bonjour,

    J'ai changé la destination web, elle pointe désormais sur le répertoire public comme vous pouvez le constater. (http://chomeurs-solidaires.fr)

    J'ai réactivé l'url rewriting pour que vous puissiez constater par vous même. Les pages traitées par l'URL rewriting sont inaccessibles (erreur 500). Vous pouvez tester sur le pages situées en haut, par exemple programme et apropos)

    Le fichier htaccess est bien créé, et il est en tout point conforme à celui du tutorial.

    Je vous livre mon fichier routing mais à priori, la config doit être bonne puisque c'est celle qui marche sur le fichier local.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    $tab=array(
    			'index.html' => array(
    								'nav'=>'annonces::list',								
    								),
    			'annoncesDetail_:id:.html' =>  array(
    								'nav'=>'annonces::show',
    								'tParam' => array('id')
    								),
    			'annoncesSearch' =>  array(
    								'nav'=>'annonces::search',
    								'tParam' => array('id')
    								),									
    			'profils' => array(
    								'nav'=>'profils::list',
    								),
    			'profilsDetail_id:' =>  array(
    								'nav'=>'tache::show',
    								'tParam' => array('id')
    								),	
    			'programme' =>  array(
    								'nav'=>'prog::vue1'),
    			'apropos' =>  array(
    								'nav'=>'prog::reg'),
    			'soutien' =>  array(
    								'nav'=>'prog::soutien'),								
    			//page 404 (page non trouve)
    			'404' => array(
    								'nav' => 'annonces::list',
    								),
     
    		);


    Merci

    Ylian

  4. #4
    Nouveau membre du Club
    Le problème est résolu. il fallait rajouter la commande suivante au htaccess

    RewriteBase /

    J'ai une question subsidiaire. Actuellement, j'exploite le routing comme indiqué dans les exemples.

    ainsi, ma page détail est accessible via le paramètre id, j'ai donc comme url annonceDetail_1.html comme équivalent pour :nav=annonces::show?id=44.

    existe-t-il un moyen d'obtenir une adresse de type annonce_titre_de_lannonce.html comme cela se fait couramment sur pas mal de sites ?

    Ylian

  5. #5
    Rédacteur

    Bonjour
    Il existe 2 types d'écritures "propres":

    Soit on met ET le titre et l'id de l'article
    Par exemple: annoncesDetail_1_monTitre_de_l_annonce

    Ainsi on recupere 2 variables, mais on ne regarde que la seconde pour retrouver l'article

    Qui correspondrait à
    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    			'annoncesDetail_:id:_:titre:' =>  array(
    								'nav'=>'annonces::show',
    								'tParam' => array('id','titre')
    								),


    Soit vous stoquer des "id" texte pour identifier vos articles/annonces, et utilisez donc un id textuel au lieu d'un id numérique pour retrouver l'article/annonce à afficher
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

###raw>template_hook.ano_emploi###