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
            1 sur 2 < >

            C'est [Réglé] et on n'en parle plus ?

            A quoi ça sert ?
            La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

            Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

            Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
            Comment ajouter la mention [Réglé] à votre discussion ?
            1 - Aller sur votre discussion et éditer votre premier message :


            2 - Cliquer sur la liste déroulante Préfixe.

            3 - Choisir le préfixe [Réglé].


            4 - Et voilà… votre discussion est désormais identifiée comme réglée.

            2 sur 2 < >

            Assistance au forum - Outil de publication d'infos de votre site

            Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

            Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

            Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

            UTILISER À VOS PROPRES RISQUES :
            L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

            Problèmes connus :
            FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

            Installation :

            1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

            Archive zip : https://github.com/AFUJ/FPA/zipball/master

            2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

            3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

            4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

            5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

            6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
            et remplacer www. votresite .com par votre nom de domaine


            Exemples:
            Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
            Télécharger le script fpa-fr.php dans: /public_html/
            Pour executer le script: http://www..com/fpa-fr.php

            Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
            Télécharger le script fpa-fr.php dans: /public_html/cms/
            Pour executer le script: http://www..com/cms/fpa-fr.php

            En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

            Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
            Voir plus
            Voir moins

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X