fabbea Posted March 4, 2011 Share Posted March 4, 2011 Bonjour à tous,juste une petite idée en passant.Le .htaccess est un fichier indispensable pour indiquer au serveur la version de php à utiliser, les autorisations données ou non, les infos de rewriting, les redirections éventuelles, peut-être aussi pour sécuriser son site...En lisant ce forum, surtout cette partie référencement, on se rend compte qu'il suscite beaucoup de questions.Comment pourrait-on obtenir une sorte de "patron" d'un htaccess optimisé pour Prestashop, un guide générique pour tout un chacun ?Par exemple, que pensez-vous de celui-ci : # Réglages serveur # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # On indique la version de PHP si nécessaire (attention, ce code est celui applicable sur les serveurs OVH) SetEnv PHP_VER 5 # on passe le register_globals à 0 SetEnv REGISTER_GLOBALS 0 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - order allow,deny deny from all # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # REDIRECTION ANCIENNES URL, SI JE PASSE D'UN ANCIEN SITE À UN NOUVEAU # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RedirectPermanent /index.php?product-id=42 http://www.mon-site.com/categorie1/42-mon-produit.html RedirectPermanent /index.php?product-id=65 http://www.mon-site.com/categorie1/22-mon-produit.html etc etc... # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # URL rewriting module activation # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RewriteEngine on # On force les 3 www dans l'url RewriteCond %{HTTP_HOST} ^mon-site\.com [NC] RewriteRule (.*) http://www.mon-site.com/$1 [QSA,R=301,L] # URL rewriting rules RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ mon-site/img/p/$1-$2$3.jpg [QSA,L,E] RewriteRule ^([0-9]+)\-([0-9]+)/([_a-zA-Z0-9-]*)\.jpg$ mon-site/img/p/$1-$2.jpg [QSA,L,E] RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ mon-site/img/c/$1$2.jpg [QSA,L,E] RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ mon-site/product.php?id_product=$3&isolang;=$1$5 [QSA,L,E] RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ mon-site/product.php?id_product=$2&isolang;=$1$4 [QSA,L,E] RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ mon-site/category.php?id_category=$2&isolang;=$1 [QSA,L,E] RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ mon-site/product.php?id_product=$2$4 [QSA,L,E] RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ mon-site/product.php?id_product=$1$3 [QSA,L,E] RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ mon-site/category.php?id_category=$1 [QSA,L,E] RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ mon-site/cms.php?id_cms=$1 [QSA,L,E] RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ mon-site/supplier.php?id_supplier=$1$3 [QSA,L,E] RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ mon-site/manufacturer.php?id_manufacturer=$1$3 [QSA,L,E] RewriteRule ^lang-([a-z]{2})/(.*)$ mon-site/$2?isolang=$1 [QSA,L,E] # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Catch 404 errors ErrorDocument 404 mon-site/404.php Que pourrait-on faire pour l'améliorer, le compléter ?Améliorer :Par exemple, pour les redirections permanentes d'un ancien site vers le nouveau :Si les redirections sont nombreuses, ne vaut-il pas mieux les mettre après le traitement du rewriting (5000 redirections ne provoquent elles pas un ralentissement) ?Ou au contraire, est il préférable de les placer tout de suite en haute, pour que le serveur les trouve en premier ?A moins que ça n'ai aucune importance ?Compléter :A l'époque sous Joomla, un post conseillait de placer dans son .htaccess ces quelques lignes (un extrait) : ########## 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 set a mosConfig value through the URL RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\=) [OR] # Block out any script trying to base64_encode crap to send via URL RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] # Block out any script that includes a [removed] tag in URL RewriteCond %{QUERY_STRING} (\<|<).*script.*(\>|>) [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}) # Send all blocked request to homepage with 403 Forbidden error! RewriteRule ^(.*)$ /index.php [F,L] # ########## End - Rewrite rules to block out some common exploits Je sais que Presta est tourné vers la sécurité, mais pourrait-il être utile d'y ajouter aussi quelques "restrictions" de ce genre ?Qu'avez-vous l'habitude de faire sur vos sites Prestashop concernant ce précieux .htaccess ? Si quelqu'un veut rebondir... Link to comment Share on other sites More sharing options...
Nico73 Posted April 5, 2011 Share Posted April 5, 2011 Bonjour,Bonne initiative...Quelqu'un peu dire si le fichier .htaccess est bon et bien sécurisé?Merci Link to comment Share on other sites More sharing options...
PS Project Posted May 3, 2011 Share Posted May 3, 2011 UP !Merci Link to comment Share on other sites More sharing options...
Sparrow Posted May 4, 2011 Share Posted May 4, 2011 Très bonne initiative, je suis également très intéressé.Avez vous du nouveau concernant les bonnes pratiques en .htaccess ?Je me penche actuellement sur la question, si j'ai quelques pistes je les posterai ici.Merci à vous. Link to comment Share on other sites More sharing options...
Thierry_67 Posted May 27, 2011 Share Posted May 27, 2011 +1Et j'ajoute une question : à l'époque où j'utilisais Joomla, un conseil fréquent était de mettre un fichier index.html "vide" dans chaque répertoire, or je n'en vois pas dans les répertoires de PrestaShop.Le htaccess de PrestaShop rend ce conseil inutile ? Link to comment Share on other sites More sharing options...
Guest Roger-C Posted May 29, 2011 Share Posted May 29, 2011 Ce .htaccess est encore loin d'être idéal. Il ne prend pas en compte pas mal de choses. Il y a beaucoup de choses à rajouter. Je reviendrai pour le compléter. Mais c'est bien d'avoir pris l'initiative d'en parler. Cela pemet de réunir les idées Link to comment Share on other sites More sharing options...
Psychodays Posted May 29, 2011 Share Posted May 29, 2011 je ne sais pas si cela vous satisfait mais j'ai mis en téléchargement mon htaccess anonymisé (remplacez le domain par le vôtre), ce fichier est pour la version 1.3.5 de prestashop malheureusement mais vous pouvez le transposer pour les version antérieures et peut être aussi la 1.4http://blog.referencementschool.com/guide-optimisation-seo-de-prestashop/lien de téléchargement à la fin du post Link to comment Share on other sites More sharing options...
Guest Roger-C Posted May 29, 2011 Share Posted May 29, 2011 C'est une excellent initiative qui fait avancer la communauté. Link to comment Share on other sites More sharing options...
xav3438 Posted June 3, 2011 Share Posted June 3, 2011 Bonjour à tous,J'ai une question, je voudrais configurer mon fichier .htaccess pour que l'adresse de mon site apparaisse sans contenir le mot "accueil" à la fin.Je m'explique, lorsque je clique sur l'adresse de mon site dans google par exemple, je tombe sur http://www.cap-innov.fr/accueil.'>http://www.cap-innov.fr/accueil.Ce que je souhaiterais, c'est arrivé simplement sur l'adresse suivante http://www.cap-innovSi quelqu'un peut m'expliquer comment l'indiquer dans le fichier .htaccess sa m'aiderait beaucoup.Merci Link to comment Share on other sites More sharing options...
Guest Roger-C Posted June 3, 2011 Share Posted June 3, 2011 Bonjour,je pense qu'il y a déjà dans ton .htaccess un ligne qui crée cette redirection vers “accueil”. Il faudrait l'enlever et tout ira bien. Ou sinon me l'envoyer par MP et je verrai ce que je peux faire.Cordialement Link to comment Share on other sites More sharing options...
alchimiedesbougies Posted June 8, 2011 Share Posted June 8, 2011 bonjour,si ça peut aider, j'ai ceci dans mon htaccess (hebergement OVH) qui marche bien pour rediriger la page avec /index RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ (/.*)?/index.(htm|html|php|asp) RewriteRule ^(.*)index.(htm|html|php|asp)$ /$1 [R=301,L] Link to comment Share on other sites More sharing options...
Recommended Posts