manouille Posted February 7, 2014 Share Posted February 7, 2014 (edited) Bonjour un petit truc qui coince dans mes tests pour passer en 1.5. Dans l'arborescence de ma boutique j'ai un dossier XXX protégé par un htacess auquel j’accède par l'url suivante : urldemaboutique.com/XXX Sur 1.4 pas de soucis. Sur 1.5 je suis redirigé vers la page 404 de ma boutique. Je pense que c'est le htacess de la boutique qui filtre mais je n'arrive pas à passer au travers. Merci de votre aide. Edited February 14, 2014 by manouille (see edit history) Link to comment Share on other sites More sharing options...
manouille Posted February 8, 2014 Author Share Posted February 8, 2014 Bon c'est bien le htacess avec réécriture d'url qui bloque. Il faudrait donc arriver à écrire une exception aux règles dans ce htacess. Link to comment Share on other sites More sharing options...
aschaeffer Posted February 8, 2014 Share Posted February 8, 2014 Je peux te donner une piste de résolution, mais ce n'est peut-être pas ce que tu recherches. J'ai rencontré ce problème car je voulais avoir des répertoires accessibles à la racine du site (maboutique.com/monrepertoire). Ma solution a été de mettre tout le dossier prestashop dans un sous répertoire à l'intérieur du www/. J'ai donc quelques chose comme ça : www/ -- boutique/ -- monrepertoire1/ -- monrepertoire2/ Dans mon .htaccess au niveau du www/, j'ai une redirection qui dit que : Si l'url essaye d'accéder à un répertoire qui existe, tu affiches le répertoire Sinon, tu rediriges l'url vers boutique/. En clair, si l'uilisateur tape : http://www.maboutique.com ou http://www.maboutique.com/mon-compte, il sera redirigé vers : http://www.maboutique.com/boutique/ http://www.maboutique.com/boutique/mon-compte Voici le htaccess : RewriteEngine on RewriteCond %{HTTP_HOST} !^maboutique\.com RewriteRule (.*) http://maboutique.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^maboutique.com$ RewriteCond %{REQUEST_URI} !^/boutique/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /boutique/$1 RewriteCond %{HTTP_HOST} ^maboutique.com$ RewriteRule ^(/)?$ boutique/index.php [L] Dans les préférences de Prestashop (SEO & URLS) j'ai rentré les valeurs suivantes : domaine : maboutique.com domaine SSL : maboutique.com Chemin : /boutique/ En espérant que cela puisse t'aider ! Link to comment Share on other sites More sharing options...
manouille Posted February 8, 2014 Author Share Posted February 8, 2014 Merci pour la réponse. C'est une solution qui fonctionne mais la présence de /boutique/ dans l'url ne me va pas terrible. Je continue de creuser. Link to comment Share on other sites More sharing options...
customcode Baptiste Posted February 10, 2014 Share Posted February 10, 2014 Bonjour, Essayez de rajouter dans votre htaccess RewriteCond %{Request_URI} !/XXX Link to comment Share on other sites More sharing options...
manouille Posted February 10, 2014 Author Share Posted February 10, 2014 Bonjour, j'ai essayé cette solution (et d'autres qui lui ressemble) sans succès. En effet semblerait que le htacess soit réécrit par le dispatcher. Donc si je met une condition avant un rewrite dans le htacess celui-ci ne fonctionne pas. Du coup je me demande s'il ne faut pas mettre une règle dans celui-ci ou alors trouver le moyen que la règle ne soit pas réecrite automatiquement. Incroyable que ce soit devenu si compliqué ! Link to comment Share on other sites More sharing options...
aschaeffer Posted February 11, 2014 Share Posted February 11, 2014 Le .htaccess au niveau de prestashop est réécrit lors du changement des valeurs dans les champs domaine, domain SSL et chemin de SEO&URL (peut-être à d'autres moments aussi). Du coup, cela ne sera à rien de rajouter des règles dans ce .htaccess. Si le boutique te gêne, il faut voir si il est possible de faire de la réécriture d'URL pour l'enlever. Mais je ne sais pas comment le faire. J'avais du m'y pencher dessus, puis abandonner. Si tu trouves quelques choses de satisfaisant, n'hésites pas à partager, ça m'intéresse ! Link to comment Share on other sites More sharing options...
manouille Posted February 12, 2014 Author Share Posted February 12, 2014 (edited) Bon bah voila la solution est toute bete. Il faut écrire une règle à la fin du htacess à l'exterieur de la partie réservée à la génération automatique du htacess Si xxx est le dossier auquel vous voulez avoir accès il faut avoir à la fin du htacess ceci # ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again RewriteEngine on RewriteRule ^xxx/(.*) /xxx/$1 [L] RewriteEngine off Voila. Bonne journée Edited February 12, 2014 by manouille (see edit history) 1 Link to comment Share on other sites More sharing options...
Gregory Roussac Posted February 12, 2014 Share Posted February 12, 2014 Hello, Retirez RewriteEngine on, les deux dernières lignes font le job normalement. Cordialement Link to comment Share on other sites More sharing options...
manouille Posted February 12, 2014 Author Share Posted February 12, 2014 Oui effectivement on peut se passer de remettre le RewriteEngine à On. Nickel. Link to comment Share on other sites More sharing options...
manouille Posted February 12, 2014 Author Share Posted February 12, 2014 Fausse joie Cette méthode fait sauter les liens internes des images et des produits. Link to comment Share on other sites More sharing options...
Gregory Roussac Posted February 12, 2014 Share Posted February 12, 2014 Re, En fait quand je relis la règle je pense qu'il y a un souci. Et je ne reproduis pas le souci de base. Si vous retirez le htacess dans le dossier en question , vous n’accédez pas non plus ? A priori il y a un souci avec la directive rewriteBase je dirais. Cordialement Link to comment Share on other sites More sharing options...
manouille Posted February 12, 2014 Author Share Posted February 12, 2014 (edited) Bien vu ! Donc sans modif du htacess de la boutique et sans htacess dans mon dossier xxx j'accède sans problème. Le htacess de mon dossier xxx est une simple protection par mot de passe La structure de mes fichiers est comme cela -root --.httppasswds -- public_html --- htacess de presta et les fichiers/dossiers presta --- xxx (mon dossier) ---- htacess de mon dossier xxx Le htacess de xxx est écrit comme cela AuthType Basic AuthName "xxx" AuthUserFile "/root/.htpasswds/passwd" require valid-user Edited February 12, 2014 by manouille (see edit history) Link to comment Share on other sites More sharing options...
Gregory Roussac Posted February 12, 2014 Share Posted February 12, 2014 Essayez d'y mettre une directive RewriteBase /xxx/ ? Cordialement Link to comment Share on other sites More sharing options...
manouille Posted February 12, 2014 Author Share Posted February 12, 2014 Non pas mieux J'ai écrit ça mais à ce moment là plus accès au dossier xxx RewriteBase /xxx/ AuthType Basic AuthName "xxx" AuthUserFile "/root/.htpasswds/passwd" require valid-user Link to comment Share on other sites More sharing options...
Gregory Roussac Posted February 12, 2014 Share Posted February 12, 2014 Plus accès ce n’est pas une 404 par contre. A mon avis il faut vérifier autre chose comme les chemins et les droits. Cordialement Link to comment Share on other sites More sharing options...
manouille Posted February 12, 2014 Author Share Posted February 12, 2014 En fait c'est la 404 de prestashop qui apparait. Je regarde sur les chemins. Merci pour la piste. Link to comment Share on other sites More sharing options...
manouille Posted February 12, 2014 Author Share Posted February 12, 2014 Mouarf il me semble (je ne vais pas crier victoire trop tot) avoir trouvé la solution grace à ce lien http://x-aeon.com/wp/2011/11/18/how-to-make-rewritecond-work-with-sub-directories-needing-http-authentication/ En fait il faut spécifier dans le htacess du dossier à protéger l'erreur 401. Ce qui donne dans mon dossier protégé. ErrorDocument 401 "Unauthorized Access" AuthType Basic AuthName "xxx" AuthUserFile "/root/.htpasswds/passwd" require valid-user Et là ca semble fonctionner. Le pourquoi du comment je sais pas trop mais je vais me contenter de ca ce soir 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now