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

    J’ai besoin de faire des RedirectPermanent dans mon fichier .htaccess (pour rediriger d’ancienne page vers de nouvelles URLs) mais rien ne fonctionne (Erreur 404), je crois que c’est à cause des paramètres utilisés dans MODx pour le "Friendly URLs".

    Est-ce que quelqu’un peut m’aiguiller ?

    Merci d’avance
      TylerD - In MODx we trust
      [Derni
      • 11975
      • 2,542 Posts
      Salut,

      pour une gestion facililitée des anciennes urls, essaie le plugin de appox virtual aliases.

      :-)
        Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
        • 30897
        • 311 Posts
        Merci de ta réponse.

        Il n’y a pas un moyen avec le .htaccess à la racine du site ?

        Où puis-je trouver ce plugin ?
          TylerD - In MODx we trust
          [Derni
          • 11975
          • 2,542 Posts
          Pour le plugin c’est là

          => http://www.stanback.net/code/modx/virtual-aliases.html

          :-)

            Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
            • 23050
            • 1,842 Posts
            Salut Tyler,

            +1 pour le plugin Virtual aliases... Vraiment super pratique ! Jusqu’à récemment, je passais par le .htaccess (lors d’un changement de rubrique de produits sur Déco’In par ex) mais c’est vraiment contraignant.

            Avec le plugin, il te suffit de renseigner dans une tv l’ancienne url du doc et tout se fait tout seul. Vraiment pratique.

            Sinon, pour info, si tu veux une 301 dans le .htaccess, tu es obligé de passer par une réécriture à cause, comme tu le dis, du système de réécriture de MODx

            RewriteRule ancienne-adresse.html http://www.domaine.tld/nouvelle-adresse.html [L,NC,R=301]
              • 30897
              • 311 Posts
              Merci.

              Je ne comprend pas bien comment fonctionne ce plugin. Il faut créer un document par redirection à faire ?

              Si vous avez 2 minutes pour m’expliquer car je plane un peu là rolleyes

              Merci d’avance
                TylerD - In MODx we trust
                [Derni
                • 11975
                • 2,542 Posts
                Salut,

                si je comprends bien tu as d’anciennes url que tu souhaites rediriger vers les pages nouvellement créées avec MODx.
                Tu vas donc associer au template du document la tv qui va stocker l’ancienne url et grace au plugin une redirection 301 se fera vers le nouvel alias.

                :-)
                  Made with MODx : [url=http://www.copadel.com]copadel, fruits et l
                  • 9847
                  • 1 Posts
                  Salut,

                  Je crois avoir trouvé une solution pour le .htaccess et la redirection de certaines pages à l’aide de "RewriteRule", mais je ne comprends pas tellement la logique de la règle d’URL Rewriting de MODx...

                  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


                  Bon okay, si on a une URL du style "www.monsite.com/fajitas" ça donne "www.monsite.com/index.php?q=fajitas", ça je comprends.

                  Mais je vois pas ou le serveur fait la distinction entre les pages de contenu qui doivent être effectivement traitées par cette règle et les images, les css et autres fichiers...

                  Par exemple, pourquoi quand on demande l’URL "www.monsite.com/mon_image.png" par défaut, il ne semble pas afficher "www.monsite.com/index.php?q=mon_image.png", mais bien "www.monsite.com/mon_image.png" ?

                  Là, déjà, je comprends pas.... smiley

                  Mais en plus, lorsque l’on ajoute une autre règle de type "RewriteRule" avant celle du fichier ".htaccess", comme par magie, le serveur semble cette fois si interpréter la règle de MODx normalement et donc l’URL "www.monsite.com/mon_image.png" me redirige donc bien sur "www.monsite.com/index.php?q=mon_image.png" qui ne marche pas du coup (mais ça c’est normal).

                  Donc si on ajoute d’autres règles de type "RewriteRule" avant celle de MODx, il faut bien penser à spécifier les conditions d’utilisation de celle de MODx.

                  J’ai pas encore trop l’habitude de MODx, mais il me semble que toutes les pages de contenue ont l’extension ".php". Donc on va demander au serveur de n’appliquer la règle de MODx uniquement sur les fichiers php.

                  On a donc un truc du style :

                  # On redirige notre page
                  Redirect permanent /dossiers/reseaux/mon_dossier http://www.monsite.com/dossiers/internet_et_reseaux/mon_dossier.php
                  
                  # Utiliser les règles suivantes uniquement s'il s'agit d'un fichier ".php"
                  RewriteCond %{REQUEST_URI} \.(php)
                  # Serveur,  laisse mon forum tranquille est n'applique pas ta règle STP !
                  RewriteCond %{REQUEST_URI} !^/forums/
                  # La règle d'URL rewriting pour MODx
                  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
                  
                  ErrorDocument 404 http://www.monsite.com/404.php


                  Ca semble correctement marcher comme cela.

                  Bonne journée à toutes et tous wink
                    • 23050
                    • 1,842 Posts
                    Salut Florent,

                    Je pense que la gestion des écritures réécritures va au delà du fichier .htaccess puisqu’il faut que le système récupère en plus l’alias renseigné dans l’admin de MODx. Cela dit, je n’ai jamais vraiment creusé.

                    En revanche, je ne comprends pas pourquoi tu es obligé de passer par une réécriture pour le dossier /forums/. J’ai un site avec MODx + SMF qui tourne sans problème sans réécriture.