We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 11636
    • 47 Posts
    tres bien merci bon ca devrais enfin allez grin si ce n’est que je ne peut tester en local du faut que l’url simplifié est désactivé.

    donc mon tv alias contien
    mondossier/monlien1 (sans .php)
    mondossier/monlien2

    ....

    si j’ai bien compris?

    merci encore merci pour tout.

    et bonne nuit.
      • 23050
      • 1,842 Posts
      Effectivement si en local tu as la réécriture désactivée, ça va être dur de tester smiley

      Ton tv alias contiendra normalement une seule ligne.

      Mettons, dans le doc1, tu mets dossier/anciennepage1.html
      Dans le doc 2, dossier/anciennepage2.html

      Etc... c’est bon ?

      Bonne nuit oui, j’y vais aussi ! :p
        • 11636
        • 47 Posts
        Coucou donc voilà mon site est fonctionnel en ligne et tout et tout smiley j’ai juste un souci avec aliases virtual qui ne fonctionne pas.

        donc dans mes alias je met /monsite.php ou /monsite ou monsite.php ou même encore monsite pour pointer surs la nouvelle adresse /dossier/monsite.php mais toute mes tentative on été vaines donc au final voissi ce que j’ai fait je vais dans plugin j’en creer un nouveau avec le code donné
        //<?php
        // Virtual Aliases
        // version 0.0.1
        // Allows for an unlimited number of custom aliases per page.
        // By Brian Stanback @ www.stanback.net
         
        // On Install: Check the the "OnPageNotFound" box in the System Events tab.
        // Plugin configuration: &aliasesTV=Aliases TV name;string;Aliases
         
        // For overriding documents, create a new template variabe (TV) named
        // Aliases with the following option:
        //    Input Type: Textarea (Smaller)
        // 
        // Aliases should be added to the TV, one per line. 
        // Omit any leading or trailing slashes as well as the default suffix (usaully .html)
         
        // Begin plugin code
        $e = &$modx->event;
         
        if ($e->name == "OnPageNotFound") 
        {
           // Retrieve requested path + alias
           $documentAlias = $modx->documentIdentifier;
           $documentAlias = ($modx->virtualDir == "") ? $documentAlias : $modx->virtualDir . '/' . $documentAlias;
         
           // Search TVs for potential alias matches
           $sql = "SELECT tvc.contentid as id, tvc.value as value FROM " . $modx->getFullTableName('site_tmplvars') . " tv ";
           $sql .= "INNER JOIN " . $modx->getFullTableName('site_tmplvar_templates') . " tvtpl ON tvtpl.tmplvarid = tv.id ";
           $sql .= "LEFT JOIN " . $modx->getFullTableName('site_tmplvar_contentvalues') . " tvc ON tvc.tmplvarid = tv.id ";
           $sql .= "LEFT JOIN " . $modx->getFullTableName('site_content') . " sc ON sc.id = tvc.contentid ";
           $sql .= "WHERE sc.published = 1 AND tvtpl.templateid = sc.template AND tv.name = '$aliasesTV' AND tvc.value LIKE '%" . $modx->db->escape($documentAlias) . "%'";
           $results = $modx->dbQuery($sql);
         
           // Attempt to find an exact match
           $found = 0;
           while ($found == 0 && $row = $modx->db->getRow($results))
           {
              $pageAliases = explode("\n", $row["value"]);
              while ($found == 0 && $alias = each($pageAliases))
              {
                 if (trim($alias[1]) == $documentAlias)  // Check for a match
                    $found = $row["id"];
              }
           }
         
           if ($found)  // Redirect to new document, if an alias was found
           {
              $pageUrl = $modx->makeUrl($found, '', '', "full");
              $modx->sendRedirect($pageUrl, 0, "REDIRECT_HEADER", "301");  // Send a permanent redirect
              exit(0);
           }
         
           header("HTTP/1.0 404 Not Found");
           header("Status: 404 Not Found");
        }
        


        puis réglage du plugin je met
        &aliasesTV=Aliases TV name;string;Aliases
        et enfin je coche OnPageNotFound et alias tv name Aliases

        je crée ensuite un tv avec comme nom Aliases et type d’enetré textaréa (mini) et dans mon document je met aliases a /monsite.php ou /monsite ou monsite.php ou même encore monsite

        voilà en vous remerciant bonne soirée et bon fin de week-end
          • 23050
          • 1,842 Posts
          Ton ancienne page s’appelle monsite.php (pas de dossier avant) ? Quand tu dis que ça ne fonctionne pas, ça fait quoi concrètement ? La redirection ne se fait pas ? tu as un message d’erreur ?
            • 11636
            • 47 Posts
            en fait avant j’avais un dossier ca fait monsite/mondosier/mapage.php pour aujourd’hui faire monsite/monrepertoire/mondossier/mapage.php

            et donc actuellement ca laisse la barre d’adresse tel quel mais la page vue est celle d’acceuil. merci grin une fois de plus Perrine.
              • 23050
              • 1,842 Posts
              Alors il faut que tu mettes monsite/mondosier/mapage.php ou monsite/mondosier/mapage (sans .php, à tester) dans la TV Aliases.
                • 11636
                • 47 Posts
                bonsoirs les 2 solutions proposé n’on rien changé toujours pages d’acceuil en visuel ;(
                  • 23050
                  • 1,842 Posts
                  Y’a moyen d’avoir accès à l’administration du site juste le temps de regarder ça ?
                    • 11636
                    • 47 Posts
                    oui mais il faut creer un compte administrateur?
                      • 23050
                      • 1,842 Posts
                      Après quelques tests, je ne suis pas arrivée à trouver le problème.

                      Le plugin VirtualAliases est bien exécuté puisque je vois bien la différence de redirection entre quand le plugin est activé (erreur 500) ou non (erreur 404 avec redirection vers le document 404 défini dans la config MODx) ...

                      On dirait qu’il y a un conflit quelque part (erreur 500), pourtant la réécriture fonctionne.

                      Je vois pas :/

                      Si quelqu’un a un peu de temps, voyez avec hades, j’ai peut-être raté un truc tout con ^^