DOCMAN : réécriture URL depuis ancienne version

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] DOCMAN : réécriture URL depuis ancienne version

    Salut,

    Entre les différentes versions de notre ami DOCMAN l'écriture des URLs a fortement changée. Le problème est que sur des sites ayant plusieurs années d’existence certains liens mis dans les newsletters se retrouvent en 404 lors de leur lecture.
    Après analyse voici le soucis :

    Ancienne URL Docman : https://xxx.fr/index.php?option=com_docman&task=docview&id=1324
    Nouvelle URL : https://xxx.fr/index.php?option=com_docman&view=document&id=1324

    Ensuite le plugin de redirection de Docman fait le job en redirigeant les URLs type option=com_docman&view=document&id=1324 en ?option=com_docman&view=download&alias=1324-xxx&category_slug=xxx&Itemid=xxx

    Donc voici ma demande : est-ce qu'il y aurait parmi vous quelqu'un qui parlerait le REGEX afin de mettre une règle dans le htaccess et qui transformerait toutes les https://xxx.fr/index.php?option=com_...ocview&id=1324 en https://xxx.fr/index.php?option=com_...cument&id=1324

    Merci d'avance pour vos réponses

    PS: Le premier qui me donne la solution aura droit à une rasade de bières gratuites lors du prochain JoomlaDay !
    adishatz, érix
    https://www.agerix.fr/
    Vous aimez ce forum ? Aidez-nous à le maintenir en adhérant à l'AFUJ : https://www.joomla.fr/association/adherer

  • #2
    Re : DOCMAN : réécriture URL depuis ancienne version

    Que ferait-on pas pour une bière !!

    Le motif de recherche serait : #(http.*com_docman)&task\=docview&(.*)"#
    et celui de remplacement : $1&view=document&$2
    il faut bien sur que l'url soit entre guillemets pour tester la fin

    Je ne garantis pas que cela fonctionne en htaccess. Je ne l'ai jamais fait.
    UP, le plugin universel à découvrir sur https//up.lomart.fr
    bgMax
    , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

    Commentaire


    • #3
      Re : DOCMAN : réécriture URL depuis ancienne version

      Je ne bois jamais de bières (ou presque) aussi je laisse la tournée à vie à lomart avec plaisir.

      Pour jouer (et prendre plaisir?) avec les regex, je recommande l'excellent site : https://regex101.com/r/Eib536/1

      Et tu comprendras ce que sont les $1 et $2 de notre ami Loïc.
      Christophe (cavo789)
      Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
      Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

      Commentaire


      • #4
        Re : DOCMAN : réécriture URL depuis ancienne version

        Je ne comprendrais jamais un Belge qui ne boit pas de bière

        Voici ton site avec le test de remplacement : https://regex101.com/r/Eib536/2

        Perso, j'utilise plutôt ce site belge (moins joli) qui peut renvoyer le résultat sous forme de tableau.
        UP, le plugin universel à découvrir sur https//up.lomart.fr
        bgMax
        , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

        Commentaire


        • #5
          Re : DOCMAN : réécriture URL depuis ancienne version

          Bon que ce soit une bière ou un verre de lait cela n'a que peu d'importance (même si moi aussi j'avoue être dépassé par l'idée d'un belge qui ne boit pas bière... )

          En tout cas je vous remercie de vous être penché sur ma question mais comme je le disais en préambule je suis vraiment pas à l'aise avec les REGEX, du coup je ne comprends pas bien ce que je dois mettre dans le htaccess... Un petit effort supplémentaire histoire de gagner l'option cacahuète avec la bière ?

          Et si on peut pas le faire en htaccess, à votre avis existe-t-il un autre moyen de le faire ?

          Encore merci de vos réponses
          adishatz, érix
          https://www.agerix.fr/
          Vous aimez ce forum ? Aidez-nous à le maintenir en adhérant à l'AFUJ : https://www.joomla.fr/association/adherer

          Commentaire


          • #6
            Re : DOCMAN : réécriture URL depuis ancienne version

            Le spécialiste du htaccess, c'est Christophe. Je lui laisse les cacahouétes
            UP, le plugin universel à découvrir sur https//up.lomart.fr
            bgMax
            , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

            Commentaire


            • #7
              Re : DOCMAN : réécriture URL depuis ancienne version

              Des cacahouètes avec du lait ? Drôle d'idées...

              @Eric : essaie ceci :

              Code:
               RewriteEngine On
               
               # http://localhost/j3/index.php?option=com_docman&task=docview&id=1324
               # will be understand like http://localhost/j3/index.php?option=com_docman&view=document&id=1324
              
               RewriteCond %{REQUEST_URI} index.php [NC]
               RewriteCond %{QUERY_STRING} (option=com_docman)(&task=docview)(.*)$ [NC]
               RewriteRule (.*) index.php?%1&view=document%3 [L]
              (.htaccess & regex : une belle prise de tête à chaque fois)

              L'idée est de supprimer de l'URL la variable task et d'inclure la variable view.
              L'URL restera inchangée toutefois.
              Christophe (cavo789)
              Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
              Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

              Commentaire


              • #8
                Re : DOCMAN : réécriture URL depuis ancienne version

                Bonjour,
                (.htaccess & regex : une belle prise de tête à chaque fois)
                C'est pour ça que je pense que plaisir et regex ... ben ça colle pas ! :-p

                ps: je suis votre conversation avec attention tout de même
                Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer
                Cette année, le JoomlaDay FR a lieu à Bruxelles, les 20 et 21 mai 2022, plus d'infos et inscriptions : www.joomladay.fr

                Commentaire


                • #9
                  Re : DOCMAN : réécriture URL depuis ancienne version

                  Envoyé par manu93fr Voir le message
                  C'est pour ça que je pense que plaisir et regex ... ben ça colle pas ! :-p
                  La bière et le lait également ! Cela donne bilk avec 30% de lait (une idée venant du Japon...)!



                  +1 avec cavo789

                  Pour info, l'extension redj permet de faire des redirections avec des regex mais aussi des macros pour simplifier...

                  ReDJ is a Joomla redirect extension. ReDJ allows to manage URL redirections. This is useful for creating URL aliases, and managing redirections from old to new URLs.


                  La documentation... :
                  ReDJ for Joomla 2.5 - Redirection rule features. Regular expressions, internal redirect, dynamic destinations (macros and placeholders).
                  Dernière édition par daneel à 04/08/2017, 16h51
                  Joomla User Group (JUG) Lille : https://www.facebook.com/groups/JUGLille/

                  Commentaire


                  • #10
                    Re : DOCMAN : réécriture URL depuis ancienne version

                    Envoyé par cavo789 Voir le message
                    Des cacahouètes avec du lait ? Drôle d'idées...

                    @Eric : essaie ceci :

                    Code:
                     RewriteEngine On
                     
                     # http://localhost/j3/index.php?option=com_docman&task=docview&id=1324
                     # will be understand like http://localhost/j3/index.php?option=com_docman&view=document&id=1324
                    
                     RewriteCond %{REQUEST_URI} index.php [NC]
                     RewriteCond %{QUERY_STRING} (option=com_docman)(&task=docview)(.*)$ [NC]
                     RewriteRule (.*) index.php?%1&view=document%3 [L]
                    (.htaccess & regex : une belle prise de tête à chaque fois)

                    L'idée est de supprimer de l'URL la variable task et d'inclure la variable view.
                    L'URL restera inchangée toutefois.
                    Salut,

                    Désolé pour le délai de réponse mais cela ne fonctionne pas
                    Exemple : https://www.infovac.fr/index.php?opt...ocview&id=1324

                    Je mets ci-dessous le htaccess actuellement en ligne :

                    ##
                    # @package Joomla
                    # @copyright Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved.
                    # @license GNU General Public License version 2 or later; see LICENSE.txt
                    ##

                    ##
                    # READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!
                    #
                    # The line 'Options +FollowSymLinks' may cause problems with some server configurations.
                    # It is required for the use of mod_rewrite, but it may have already been set by your
                    # server administrator in a way that disallows changing it in this .htaccess file.
                    # If using it causes your site to produce an error, comment it out (add # to the
                    # beginning of the line), reload your site in your browser and test your sef urls. If
                    # they work, then it has been set by your server administrator and you do not need to
                    # set it here.
                    ##

                    ## No directory listings
                    <IfModule autoindex>
                    IndexIgnore *
                    </IfModule>

                    ## Can be commented out if causes errors, see notes above.
                    Options +FollowSymlinks
                    Options -Indexes

                    ## Mod_rewrite in use.

                    RewriteEngine On

                    ## Begin - Rewrite rules to block out some common exploits.
                    # If you experience problems on your site then comment out the operations listed
                    # below by adding a # to the beginning of the line.
                    # This attempts to block the most common type of exploit `attempts` on Joomla!
                    #
                    # Block any script trying to base64_encode data within the URL.
                    RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
                    # Block any script that includes a <script> tag in URL.
                    RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
                    # Block any script trying to set a PHP GLOBALS variable via URL.
                    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
                    # Block any script trying to modify a _REQUEST variable via URL.
                    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
                    # Return 403 Forbidden header and show the content of the root home page
                    RewriteRule .* index.php [F]
                    #
                    ## End - Rewrite rules to block out some common exploits.

                    ## Begin - Custom redirects
                    #
                    # If you need to redirect some pages, or set a canonical non-www to
                    # www redirect (or vice versa), place that code here. Ensure those
                    # redirects use the correct RewriteRule syntax and the [R=301,L] flags.
                    #
                    ## End - Custom redirects

                    ##
                    # Uncomment the following line if your webserver's URL
                    # is not directly related to physical file paths.
                    # Update Your Joomla! Directory (just / for root).
                    ##

                    # RewriteBase /

                    ## Begin - Joomla! core SEF Section.
                    #
                    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
                    #
                    # If the requested path and file is not /index.php and the request
                    # has not already been internally rewritten to the index.php script
                    RewriteCond %{REQUEST_URI} !^/index\.php
                    # and the requested path and file doesn't directly match a physical file
                    RewriteCond %{REQUEST_FILENAME} !-f
                    # and the requested path and file doesn't directly match a physical folder
                    RewriteCond %{REQUEST_FILENAME} !-d
                    # internally rewrite the request to the index.php script
                    RewriteRule .* index.php [L]
                    #
                    ## End - Joomla! core SEF Section.

                    #RewriteCond %{QUERY_STRING} ^option=com_docman&task=docview&id=([0-9]+)
                    #RewriteRule index.php /index.php?option=com_docman&view=document&id=%1 [L,R=301]
                    #RewriteRule index.php?option=com_docman&task=docview&id=([0-9]+)$ /index.php?option=com_docman&view=document&id=$1 [L,R=301]

                    # http://localhost/j3/index.php?option...ocview&id=1324
                    # will be understand like http://localhost/j3/index.php?option...cument&id=1324

                    RewriteCond %{REQUEST_URI} index.php [NC]
                    RewriteCond %{QUERY_STRING} (option=com_docman)(&task=docview)(.*)$ [NC]
                    RewriteRule (.*) index.php?%1&view=document%3 [L]
                    adishatz, érix
                    https://www.agerix.fr/
                    Vous aimez ce forum ? Aidez-nous à le maintenir en adhérant à l'AFUJ : https://www.joomla.fr/association/adherer

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X