Problème de conflit entre htaccess

Discussion dans 'URL Rewriting et .htaccess' créé par sam soul, 13 Décembre 2011.

Tags:
  1. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    bonjour
    j'ai un blog wordpress, j'ai souhaité sécuriser le dossier d'administration avec un htaccess et htpasswd. Cela ne marchait pas et donnait une erreur 404 à chaque fois que j'essayais d'accéder au répertoire d'administration.
    J'ai fini par trouver que ce nouveau htaccess était en conflit avec celui placé à la racine du blog car lorsque je supprime ce htaccess à la racine, l'accès à l'administration fonctionne très bien.
    Malheureusement je n suis pas un expert et je suis incapable de voir ce qui cloche dans ce htaccess original ci-dessous.
    Qui pourrait m'aider à savoir ce qui cloche entre les deux fichiers ?
    Code:
    
    
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    
    
    
    
    
    <files .htaccess>
    order allow,deny
    deny from all
    </files>
    
    <files wp-config.php>
    order allow,deny
    deny from all
    </files>
    
    IndexIgnore *
    Options -Indexes
    
    
    SetEnv REGISTER_GLOBALS 0
    SetEnv ALLOW_URL_FOPEN 1
    SetEnv ALLOW_URL_INCLUDE 0
    SetEnv MAGIC_QUOTES 0
     
  2. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 361
    J'aime reçus:
    2
    Bon déjà il faudrait mettre les choses dans un ordre logique, ça aiderait ^^

    Dans le .htaccess à la racine du blog, tu commences par
    - la définition éventuelle des variables d'environnement (le passage en php5 par exemple)
    Code:
    SetEnv REGISTER_GLOBALS 0
    SetEnv PHP_VER 5
    - ensuite tu rajoutes ça

    Code:
    <files .htaccess>
    order allow,deny
    deny from all
    </files>
    
    <files wp-config.php>
    order allow,deny
    deny from all
    </files>
    
    IndexIgnore *
    Options -Indexes
    
    Je te déconseille fortement la partie
    Code:
    SetEnv ALLOW_URL_FOPEN 1
    SetEnv ALLOW_URL_INCLUDE 0
    SetEnv MAGIC_QUOTES 0
    qui peut générer des failles de sécurité, sauf si tu en as réellement besoin.

    Enfin tu mets
    Code:
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    et c'est tout.

    Dans le fichier .htaccess qui se trouve dans le dossier wpadmin, tu mets simplement

    Code:
    AuthType Basic
    AuthName "blabla"
    AuthUserFile chemincompletvers le fichier htpasswd/.htpasswd
    Require valid-user
    ça devrait marcher.

    Tu auras une suite logique d'instructions pour ton serveur, dans le bon ordre.

    Eventuellement, tu peux y aller morceau par morceau et voir quand ça couine.
     
  3. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    Merci, peux-tu me dire à quoi correspond la partie que tu me déconseilles ? C'est le code original du htaccess :
    Code:
        SetEnv ALLOW_URL_FOPEN 1
        SetEnv ALLOW_URL_INCLUDE 0
        SetEnv MAGIC_QUOTES 0
    Parce que dans ce sujet : https://www.webrankinfo.com/forum/piratage-mon-site-intrusion-c99shell-t129 ... l#p1185217
    justement il conseille de le mettre.
    _____________________________________________
    EDITION : la ligne qui pose problème est la suivante :
    Code:
    RewriteRule . /index.php [L]
    Mais lorsque je l'enlève, tous les liens pointant vers les commentaires récents et articles récents renvoient vers l'erreur 404 et ce, pour tous les visiteurs.
    Du coup je ne sais plus quoi faire :(
     
  4. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 361
    J'aime reçus:
    2
    Elle fait partie des rewrite rules de wordpress.
    Donc le plus simple est de repartir avec un fichier htaccess vide, d'enregistrer tes permaliens, selon la structure que tu souhaires, et de reprendre le fichier .htaccess généré

    Les trois lignes forcent un paramétrage d'environnement,
    Allow_url_include permet d'inclure des fichiers hébergés sur des noms de domaines différents, c'est la porte ouverte au hack si il est activé (ce qui n'est pas le cas dans le code
    allow_url_fopen concerne aussi l'ouverture des fichiers distant
    Magic quotes tu as une explication ici http://php.net/manual/fr/security.magicquotes.php
    (et normalement tu es en php 5.3 sur ovh)

    Ces directives sont à utiliser quand on sait ce qu'on fait (à noter que par défaut, sur les mutualisés, elles sont configurées de façon restrictives), par ailleurs certains hébergeurs comme OVH ont une syntaxe particulière...
     
  5. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    J'ai fait ce que tu m'as dit mais ça me génère exactement le même code avec la même ligne à problème alors que j'ai choisi une structure de permalien différent.
    Toujours la même ligne :
    Code:
    RewriteRule . /index.php [L]
    En raison de ce conflit est-il possible de modifier le htaccess du répertoire de l'admin ?
    Code:
    AuthName "Page d'administration protégée"
    AuthType Basic
    AuthUserFile "/home/domaine/domaine.com/wp-admin/.htpasswd"
    Require valid-user
    
     
  6. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 361
    J'aime reçus:
    2
    le htaccess de l'admin n'a rien à voir avec le premier
    en revanche, si tu veux vraiment sécuriser ton admin, ne met pas le htpasswd dedans
     
  7. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    tous les tutoriels disent de le mettre dedans :roll:
    De toute façon le mot de passe est crypté. Mais je ne sais pas comment corriger cette erreur de page 404.
     
  8. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 361
    J'aime reçus:
    2
    Non, les bons tutoriels disent de mettre le fichier .htpasswd ailleurs, et même si possible dans un répertoire en dehors du www.

    L'erreur de page 404 est sur quelle url exactement ?
     
  9. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    Sur tout ce qui est dans le répertoire wp-admin
    par exemple :
    Code:
    http://www.mondomaine.com/wp-admin/
    ne fonctionne pas.
     
  10. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 361
    J'aime reçus:
    2
    Ecoute très honnêtement, là c'est dans le noir.
    Les config htaccess dépendent de chaque hébergeur.
    "Ne fonctionne pas" c'est bizarre, normalement si c'est un problème de htaccess, c'est une erreur 500, donc je dirais que tu as tripatouillé quelque chose qui n'allait pas dans les rewrite rules spécifiques à wordpress. mais comme cela génère une autre erreur qu'on ne connait pas non plus avec précision, qu'on ne connait pas la config de ton serveur, etc...
     
  11. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    Ce que je ne comprends pas c'est que je ne dois pas être le seul dans ce cas là. Pourtant je ne trouve rien de semblable sur internet.
     
  12. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 361
    J'aime reçus:
    2
    Je viens de faire le test sur un de mes blogs wp et çà fonctionne parfaitement.
    J'ai bien la ligne /index.php

    Donc si elle génère des erreurs, c'est sans doute par là qu'il faut chercher
     
  13. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    Est-ce possible que l'hébergeur soit en cause ? je pense à cela car lors de navigation dans le répertoire d'administration via l'interface wordpress je rencontre souvent des erreurs 404 même avant d'avoir essayé d'installer des sécurité avec htaccess et htpsswrd.
     
  14. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 361
    J'aime reçus:
    2
    Je te l'ai dit plus haut, en fonction de l'hébergeur, on peut formuler différemment certaines lignes. Tu as repris par exemples des lignes spécifiques à OVH, qui ne marcheront pas obligatoirement chez d'autres hébergeurs
     
  15. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    Alors d'après toi quelle solution s'offre à moi ? Car je tiens absolument à protéger le répertoire par htpsswrd.
    Par exemple, les liens du contenu principal ne sont pas affectés lorsque je supprime cette fameuse ligne. Seuls les liens des commentaires récents et articles récents sont touchés. Il faudrait peut-être que j'essaie de modifier leur structure. Je vais voir ça. Merci pour ton aide.
     
  16. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 361
    J'aime reçus:
    2
     
  17. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 190
    J'aime reçus:
    1
    Si tu ne t'en sort pas avec le htaccess je craint que les options qu'il te reste pour arriver à ce résultat spécifique soit encore plus "hard" à mettre en oeuvre.
    Quoi qu'il en soit si tu te sent d'intervenir dans tes scripts d'admin il te reste le choix d'envoyer directement les headers qui vont bien.

    Code:
    header('WWW-Authenticate: Basic realm="espace a accès privé');
    etc ...
     
  18. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    Je crois que j'ai trouvé une piste, sur ce sujet, il me semble que la personne rencontre le même problème, et semble donner la solution dans son dernier message.
    Malheureusement je ne suis que modeste en anglais et j'ai cru comprendre qu'il fallait transformer le dossier en sous-domaine.
    Mais je ne sais pas comment faire cela.
    Si quelqu'un peut m'aider, merci.
     
  19. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 361
    J'aime reçus:
    2
    ça ne te servira à rien, puisque wordpress ne comprendra pas l'adresse d'admin avec un sous domaine.
    (ce qu'il veut dire c'est que tu fais un sous domaine qui pointe vers le répertoire en question, et que tu accedes donc à ce répertoire via le sous domaine)

    Par ailleurs la solution concerne une installation Drupal, et pas wordpress, et les configs et la gestion des réécritures / répertoires est différente dans chacun des cms

    Le .htaccess, c'est comme les médocs. ça marche pour une maladie, pas obligatoirement pour une autre, et quand on n'est pas toubib, il vaut mieux éviter de prendre les médocs d'un autre sous prétexte que ça a marché pour lui et que ce sont les mêmes symptômes.

    Par ailleurs, le monsieur mentionne exactement ce vers quoi j'ai essayé de t'orienter, c'est à dire des différences de config entre les deux serveurs, qui n'ont pas la même version d'Apache.

    Maintenant je te l'ai dit deux fois : parce que un .htaccess est spécifique à un environnement, en l'absence d'indications précises de ta part (url, hébergeur, éventuellement type de pack), on ne peut pas t'aider.
     
  20. JanoLapin
    JanoLapin WRInaute accro
    Inscrit:
    21 Septembre 2008
    Messages:
    4 250
    J'aime reçus:
    0
    comme souvent d'un hébergeur à l'autre
     
  21. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    l'hébergeur est Dreamhost, le serveur Apache, quant à l'URL je préfère ne pas la donner.
     
  22. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 361
    J'aime reçus:
    2
    ça on savait que le serveur était Apache :D
     
Chargement...
Similar Threads - Problème conflit htaccess Forum Date
Problème de conflit javascript Développement d'un site Web ou d'une appli mobile 26 Juin 2017
Problème/conflit "RedirectPermanent" et Url rewirting URL Rewriting et .htaccess 29 Août 2014
Problème de trafic incorrect (plus de 3000€) / RPM à 35€ AdSense Vendredi à 17:27
Problèmes d'indexations de Google Crawl et indexation Google, sitemaps Lundi à 12:10
Problème d'indexation pour de nombreuses pages Débuter en référencement 10 Octobre 2020
Microdonnées : problème avec product Débuter en référencement 6 Octobre 2020
Probléme de texte gras, code HTML Demandes d'avis et de conseils sur vos sites 5 Octobre 2020
Search Console J'ai un problème : 5 pages indexés et 43 exclues Crawl et indexation Google, sitemaps 2 Octobre 2020
Search Console Problème d'indexations de pages produits Crawl et indexation Google, sitemaps 30 Septembre 2020
Search Console Probleme redirection nom de domaine et indexation google Crawl et indexation Google, sitemaps 16 Septembre 2020