Htaccess - redirection 301 non prises en compte

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

  • Htaccess - redirection 301 non prises en compte

    Bonjour,

    Je me confronte à un problème que je n'arrive pas à résoudre.
    Suite à une refonte puis une migration de site j'ai un htacess qui contient un grand nombre de redirection. Le problème c'est que depuis ma migration sur joomla + OVH celles-ci ne fonctionnent plus

    Voici le début de mon htaccess
    Code:
    ##
    # @package		Joomla
    # @copyright	Copyright (C) 2005 - 2013 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 just below this section: 'Options +FollowSymLinks' may cause problems
    # with some server configurations.  It is required for use of mod_rewrite, but may already
    # be set by your server administrator in a way that dissallows changing it in
    # your .htaccess file.  If using it causes your server to error out, comment it out (add # to
    # beginning of line), reload your site in your browser and test your sef url's.  If they work,
    # it has been set by your server administrator and you do not need it set here.
    ##
    
    ## Can be commented out if causes errors, see notes above.
    Options +FollowSymLinks
    
    ## Mod_rewrite in use.
    
    RewriteEngine On
    
    ## Begin - Rewrite rules to block out some common exploits.
    # If you experience problems on your site block out the operations listed below
    # This attempts to block the most common type of exploit `attempts` to Joomla!
    #
    # Block out any script trying to base64_encode data within the URL.
    RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
    # Block out any script that includes a <script> tag in URL.
    RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
    # Block out any script trying to set a PHP GLOBALS variable via URL.
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    # Block out 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 homepage
    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 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 request is for something within the component folder,
    # or for the site root, or for an extensionless URL, or the
    # requested URL ends with one of the listed extensions
    RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
    # 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.
    
    ##Spanish version of the website
    RedirectPermanent /es http://es.domaine.com
    
    RewriteCond %{HTTP_HOST} ^www.es.domaine.com$
    RewriteRule ^(.*) http://es.domaine.com/$1 [QSA,L,R=301]
    
    ##301 redirect for old websites
    RewriteCond %{HTTP_HOST} ^domaine.com [nc]
    RewriteRule ^(.*)$ http://www.domaine.com/$1 [r=301,nc]
    
    RewriteRule ^/Comprendre$ http://www.domaine.com/page1 [R=301,L]
    RewriteRule ^/Comprendre/Machin$ http://www.domaine.com/page2 [R=301,L]
    RewriteRule ^/Comprendre/Machin/Truc$ http://www.domaine.com/page3 [R=301,L]
    RewriteRule ^/Comprendre/Machin/Truc/Chose$  http://www.domaine.com/page4 [R=301,L]

    J'ai également tenté de modifier les Règles en utilisant RedirectPermanent j'avais donc pour les derniers lignes du fichiers
    Code:
     
    RedirectPermanent /Comprendre http://www.domaine.com/page1
    RedirectPermanent /Comprendre/Machin http://www.domaine.com/page2
    RedirectPermanent /Comprendre/Machin/Truc http://www.domaine.com/page3
    RedirectPermanent /Comprendre/Machin/Truc/Chose$  http://www.domaine.com/page4
    Et dans ce cas la premier redirection fonctionne par contre la deuxieme me donne un mix de la premiere et de la deuxieme à savoir au http://www.domaine.com/page1/page2 au lieu de http://www.domaine.com/page2
    Comme si il ajoutait les règles les unes à la suite des autres!

    Je suis à l'écoute de toutes pistes ou solutions qui pourraient résoudre mon problème car en attendant le nombre d'erreur 404 renvoyé pas mon site ne fait que croitre d'heure en heure...
    Merci d'avance
    Dernière édition par Ve34 à 25/03/2014, 12h27

  • #2
    Re : Htaccess - redirection 301 non prises en compte

    Envoyé par Ve34 Voir le message
    Bonjour,
    J'ai également tenté de modifier les Règles en utilisant RedirectPermanent j'avais donc pour les derniers lignes du fichiers
    Code:
     
    RedirectPermanent /Comprendre http://www.domaine.com/page1
    RedirectPermanent /Comprendre/Machin http://www.domaine.com/page2
    RedirectPermanent /Comprendre/Machin/Truc http://www.domaine.com/page3
    RedirectPermanent /Comprendre/Machin/Truc/Chose$  http://www.domaine.com/page4
    J'ai lu à divers endroits ... :
    "Les instructions de redirection doivent être rangées de la plus précise (déplacement d’un fichier spécifique) à la plus générale (déplacement d’un répertoire complet ou même du nom de serveur)."
    donc sans être spécialiste je conseillerais de tester ceci
    =>
    Code:
     
    RedirectPermanent /Comprendre/Machin/Truc/Chose$  http://www.domaine.com/page4
    RedirectPermanent /Comprendre/Machin/Truc http://www.domaine.com/page3
    RedirectPermanent /Comprendre/Machin http://www.domaine.com/page2
    RedirectPermanent /Comprendre http://www.domaine.com/page1
    Solidaire avec les dinosaures

    Commentaire


    • #3
      Re : Htaccess - redirection 301 non prises en compte

      Envoyé par messinmaisoui Voir le message
      J'ai lu à divers endroits ... :
      "Les instructions de redirection doivent être rangées de la plus précise (déplacement d’un fichier spécifique) à la plus générale (déplacement d’un répertoire complet ou même du nom de serveur)."
      donc sans être spécialiste je conseillerais de tester ceci
      =>
      Code:
       
      RedirectPermanent /Comprendre/Machin/Truc/Chose$  http://www.domaine.com/page4
      RedirectPermanent /Comprendre/Machin/Truc http://www.domaine.com/page3
      RedirectPermanent /Comprendre/Machin http://www.domaine.com/page2
      RedirectPermanent /Comprendre http://www.domaine.com/page1
      Merci pour ta réponse messinmaisoui, je vais donc faire une tentative en suivant ton conseil.
      A tout hasard as tu une idée pourquoi la règle est prise en compte quand c'est un RedirectPermanent et pas quand c'est un RewriteRule ?

      Commentaire


      • #4
        Re : Htaccess - redirection 301 non prises en compte

        Envoyé par Ve34 Voir le message
        Merci pour ta réponse messinmaisoui, je vais donc faire une tentative en suivant ton conseil.
        A tout hasard as tu une idée pourquoi la règle est prise en compte quand c'est un RedirectPermanent et pas quand c'est un RewriteRule ?
        Non pas vraiment ... sinon un "outil" pratique
        pour voir ce que les redirections donnent
        =>
        http://annuaire-info.com/outil-refer...t-redirection/
        Si tu connais d'autres "outils" dans ce style,n'hésite pas à me communiquer les adresses
        Solidaire avec les dinosaures

        Commentaire


        • #5
          Re : Htaccess - redirection 301 non prises en compte

          Envoyé par messinmaisoui Voir le message
          J'ai lu à divers endroits ... :
          "Les instructions de redirection doivent être rangées de la plus précise (déplacement d’un fichier spécifique) à la plus générale (déplacement d’un répertoire complet ou même du nom de serveur)."
          donc sans être spécialiste je conseillerais de tester ceci
          =>
          Code:
           
          RedirectPermanent /Comprendre/Machin/Truc/Chose$  http://www.domaine.com/page4
          RedirectPermanent /Comprendre/Machin/Truc http://www.domaine.com/page3
          RedirectPermanent /Comprendre/Machin http://www.domaine.com/page2
          RedirectPermanent /Comprendre http://www.domaine.com/page1
          J'ai testé cette solution mais cela ne fonctionne pas j'ai toujours des problèmes de redirection qui s'accumulent à la suite.
          De plus je ne peux faire aucune redirection en RewriteRule car elles ne sont absolument pas prises en compte et je ne comprend pas très bien pourquoi.
          Le rewriteRule fonctionne lorsqu'il y a un rewriteCond juste avant
          Pour exemple
          Code:
          RewriteCond %{QUERY_STRING} ^ID=xxx
          RewriteRule ^PBCPPlayer.asp$ http://www.domaine.com/aaaa/bbbb/cccc? [R=301,L]
          ===>fonctionne
          par contre la ligne suivant elle ne fonctionne pas
          Code:
          RewriteCond %{QUERY_STRING} ID=xxx
          RewriteRule ^/PBCPPlayer.asp http://www.domaine.com/aaaa/bbbb/cccc [R=301,L]
          ===>n'est pas pris en compte

          Je suis sous joomla 3.2.2 et j'ai également la dernière version de sh404sef.
          Les urls que je tente d'ajouter dans le htaccess sont de vieilles urls car mon site a été refondu. je ne peux donc pas les ajouter via sh404sef.

          Est-ce que quelqu'un pourrait m'aider à comprendre ce qui se passe et à trouver des solutions. Le nombre de mes erreurs 404 ne fait qu'augmenter...
          Merci par avance

          Commentaire


          • #6
            Re : Htaccess - redirection 301 non prises en compte

            Pas simple hein ...
            à consulter aussi http://www.urlrewriting.fr/forums.php
            Solidaire avec les dinosaures

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X