We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 27582
    • 57 Posts
    Bonjour à tous.

    Histoire de garder mon répertoire [tt]www[/tt] un minimum ordonné, j’ai installé MODx dans le sous-répertoire [tt]www/v2[/tt].

    J’ai aussi activé les friendly URLs, et donc, pour accéder à mes pages, les URL sont de la forme: http://www.esicom-st-malo.fr/v2/formation

    Tout marche. Seulement, je voudrais cacher le sous-repertoire [tt]v2[/tt] pour que les URLs que voient les utilisateurs (et les robots) soient de la forme: http://www.esicom-st-malo.fr/formation

    Après pas mal de tâtonnements, j’ai fini par y arriver. Seulement, je voudrais savoir s’il n’y avait pas un moyen plus simple d’obtenir le même résultat, et surtout, si ma solution ne me réserve pas de mauvaises surprises auxquelles je n’aurais pas pensé.


    Voici donc ce que j’ai fait:
    Tout d’abord, j’ai modifié mon [tt].htaccess[/tt] pour rediriger vers le sous-répertoire [tt]v2[/tt]:
    SetEnv REGISTER_GLOBALS 0
    RewriteEngine On
    
    RewriteRule ^$ /v2/ [L,QSA]
    RewriteRule ^/$ /v2/ [L,QSA]
    
    RewriteRule ^assets/(.*)$ /v2/assets/$1 [L,QSA]
    RewriteRule ^manager/(.*)$ /v2/manager/$1 [L,QSA]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /v2/index.php?q=$1 [L,QSA]
    


    Ca marchait, les requêtes sont bien redirigées en toute transparence pour le client, mais les URLs générés par MODx (par exemple dans les menus) faisaient toujours apparaître les sous-répertoire [tt]v2[/tt].

    Après avoir beaucoup cherché (dans le manager, sur le web et des les sources), j’en ai finalement conclu qu’il fallait que j’initialise de force les variables [tt]$site_utl[/tt], [tt]$base_url[/tt] et [tt]$base_path[/tt]. J’ai donc modifié le fichier [tt]index.php[/tt] ainsi (vers ligne 83):
     83 // Debut modifs SL20
     84 $base_url = '/';
     85 $base_path = '/home/esicomst/www/v2/';
     86 $site_url = 'http://www.esicom-st-malo.fr/';
     87 // Fin modif SL20
    


    Et maintenant, tout à l’air de fonctionner comme je le désirais. Mais je trouve ça un peu brutal d’avoir eu à modifier [tt]index.php[/tt]. Donc peut-être y avait-il plus simple/plus propre?

    Tous vos commentaires sont les bienvenus.
    D’avance merci,
    Sylvain.


      Jeune dipl
      • 18219
      • 826 Posts
      Je ne vois pas véritablement la raison d’avoir placé MODx sous le répertoire V2.
      La structure de MODx est bien pensée :
      - peu de fichiers à la racine sont nécessaires : index.php, .htaccess les autres sont optionnels et dépendent de ton site (utilisation d’ajax ou non, tu peux aussi rajouter un fichier favicon.ico par exemple)
      - un répertoire ’manager’ pour la partie admin
      - un répertoire ’asset’ pour le site Internet

      Sinon ta ’bidouille’ affiche bien ton site. Voir ce que cela donnera avec les chemins des images ou des fichiers que tu insèreras sur ton site. Je reste sceptique.
      A suivre...
        Marc
        I'm French... Sorry for my bad English, I use ' Google Translator' or other... but that remains that tools wink
        • 27582
        • 57 Posts
        Quote from: Marc at Aug 10, 2007, 05:37 PM

        Je ne vois pas véritablement la raison d’avoir placé MODx sous le répertoire V2.
        C’est parce que je vais faire co-exister plusieurs sites sur le même hébergement.

        Quote from: Marc at Aug 10, 2007, 05:37 PM

        Sinon ta ’bidouille’ affiche bien ton site. Voir ce que cela donnera avec les chemins des images ou des fichiers que tu insèreras sur ton site. Je reste sceptique.
        Comme tous les fichiers annexes (feuilles de style, JavaScript, images) sont dans le répertoire [tt]assets[/tt] j’aurais tendance à croire que je peux m’en sortir avec la règle:
        RewriteRule ^assets/(.*)$ /v2/assets/$1 [L,QSA]
        


        Mais effectivement, je ne suis pas trop sûr de moi, et comme tu le fais remarqué, ça a un petit côté bidouille. Du coup, je crains qu’il n’y ait des "subtilités" qui m’aient échappées. C’est pourquoi je demandais si quelqu’un avait une meilleur solution...

        En tous cas, merci de ta réponse,
        Sylvain.
          Jeune dipl
          • 18219
          • 826 Posts
          Deux solutions sont possibles :

          1 - Créer autant de répertoires que tu as de sous domaine et faire pointer les noms des sous domaines directement dans ces répertoires. Demande à ton hébergeur de éléments sur cette voie.
          Ceci dit un nom de domaine et un hébergement sur des serveurs mutualisés ne sont pas très onéreux (chez OVH tu trouve des prix raisonnables)

          2 - Voir si MODx est capable de gérer les sous domaines directement. Mais là je ne suis pas assez calé pour te répondre. D’autres que moi te donneront des précisions (Je pense à David notamment qui connait l’évolution du produit).
          L’idée est d’avoir un seul MODx d’installer et d’avoir autant de répertoires dans MODx que tu as de sous domaines.
          Cette solution facilité la maintenance des sites.
            Marc
            I'm French... Sorry for my bad English, I use ' Google Translator' or other... but that remains that tools wink
            • 27582
            • 57 Posts
            1 - J’ai vite (trop?) éliminé la solution des sous-domaines. En effet, ce que je veux pour l’instant, ce n’est pas créer un nouveau sous-domaine, mais bien rediriger [tt]www.esicom-st-malo.fr[/tt] vers un sous-répertoire. Or, avec l’interface d’OVH, il me semble que ce ne soit pas possible...

            2 - Qui t’as dit que tous mes "sites" seraient sous MODx? wink

            A+,
            Sylvain
              Jeune dipl