Jump to content

un .htaccess idéal ?


Recommended Posts

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

  • 1 month later...
  • 4 weeks later...

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

  • 4 weeks later...

+1

Et 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

Guest Roger-C

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

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.4

http://blog.referencementschool.com/guide-optimisation-seo-de-prestashop/

lien de téléchargement à la fin du post

Link to comment
Share on other sites

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-innov

Si quelqu'un peut m'expliquer comment l'indiquer dans le fichier .htaccess sa m'aiderait beaucoup.

Merci

Link to comment
Share on other sites

Guest Roger-C

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

Guest
This topic is now closed to further replies.
×
×
  • Create New...