Onices Posted April 8, 2015 Share Posted April 8, 2015 Bonjour, En voulant effectuer des redirections 301 sur des Url en erreur 404 je me suis intéressé un peu plus au contenu de mon fichier htaccess. Aucun souci sur l’intégration de redirection 301. Ma configuration : Hébergement : OVH -Mutualisé Version : 1.4.6.2 Certain ordre dans mon htaccess m’intrigue et je souhaites disposer d'un htaccess correct, voici le contenu de mon htaccess avec les interrogations. # .htaccess automaticaly generated by PrestaShop e-commerce open-source solution # WARNING: PLEASE DO NOT MODIFY THIS FILE MANUALLY. IF NECESSARY, ADD YOUR SPECIFIC CONFIGURATION WITH THE HTACCESS GENERATOR IN BACK OFFICE # http://www.prestashop.com - http://www.prestashop.com/forums'>http://www.prestashop.com/forums Pas de soucis SetEnv PHP_VER 5 SetEnv REGISTER_GLOBALS 0 RewriteCond %{HTTP_HOST} ^mondomaine.com$ [NC] RewriteRule ^(.*) http://www.mondomaine.com /$1 [QSA,L,R=301] RewriteEngine on RewriteCond %{HTTP_REFERER} !^http:// mondomaine.com /.*$ [NC] RewriteCond %{HTTP_REFERER} !^http:// mondomaine.com $ [NC] RewriteCond %{HTTP_REFERER} !^http://www.mondomaine.com'>http://www.mondomaine.com /.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.mondomaine.com'>http://www.mondomaine.com $ [NC] RewriteRule .*.(jpg|jpeg|gif|png|bmp|swf|tpl|css)$ http://www.mondomaine.com / [R,NC] Ici la redirection avec et sans www est présente par : RewriteCond %{HTTP_HOST} ^mondomaine.com$ [NC] RewriteRule ^(.*) http://www.mondomaine.com'>http://www.mondomaine.com /$1 [QSA,L,R=301] J'ai également ceci ? Une autre redirection avec et sans www ? RewriteCond %{HTTP_REFERER} !^http:// mondomaine.com /.*$ [NC] RewriteCond %{HTTP_REFERER} !^http:// mondomaine.com $ [NC] RewriteCond %{HTTP_REFERER} !^http://www. mondomaine.com /.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www. mondomaine.com $ [NC] Je reviens également sur ceci : RewriteRule .*.(jpg|jpeg|gif|png|bmp|swf|tpl|css)$ http://www. mondomaine.com / [R,NC] Je ne comprend pas vraiment cet ordre, ceci permet de ne pas tenir compte des majuscules si je ne me trompe pas, mais la redirection sur http://www. mondomaine.com me pose soucis et je ne la comprend pas. En effet je recherche également la source d'un problème assez vieux, concernant l'indexation des images par les moteurs de recherches, l'ensemble des images produits ne s'index pas. Donc dès que je vois la mention "d'images" je me pause la question si cette ordre influe. # Bloquage ip spam Order Allow,Deny Allow from all Deny from xx.xx.xxx.xxx Ici une ip bloqué (pour raison personnel). Les éléments "Order Allow,Deny et Allow from all" sont ils utiles ? Car "Deny from xx.xx.xxx.xxx" est déjà présent ? <IfModule mod_rewrite.c> # URL rewriting module activation RewriteEngine on # URL rewriting rules RewriteRule ^api/?(.*)$ /webservice/dispatcher.php?url=$1 [QSA,L] RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2$3.jpg [L] RewriteRule ^([0-9]+)\-([0-9]+)/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1-$2.jpg [L] RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$1$2.jpg [L] RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$1$2$3.jpg [L] RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg [L] RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg [L] RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg [L] RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg [L] RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg [L] RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg [L] RewriteRule ^c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L] RewriteRule ^c/([a-zA-Z-]+)/[a-zA-Z0-9-]+\.jpg$ /img/c/$1.jpg [L] RewriteRule ^([a-z]{2})/[a-zA-Z0-9-]*/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$2&isolang=$1 [QSA,L] RewriteRule ^([a-z]{2})/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$2&isolang=$1 [QSA,L] RewriteRule ^([a-z]{2})/([0-9]+)\-[a-zA-Z0-9-]*(/[a-zA-Z0-9-]*)+ /category.php?id_category=$2&isolang=$1&noredirect=1 [QSA,L] RewriteRule ^([a-z]{2})/([0-9]+)\-[a-zA-Z0-9-]* /category.php?id_category=$2&isolang=$1 [QSA,L] RewriteRule ^([a-z]{2})/content/([0-9]+)\-[a-zA-Z0-9-]* /cms.php?isolang=$1&id_cms=$2 [QSA,L] RewriteRule ^([a-z]{2})/content/category/([0-9]+)\-[a-zA-Z0-9-]* /cms.php?isolang=$1&id_cms_category=$2 [QSA,L] RewriteRule ^([a-z]{2})/([0-9]+)__[a-zA-Z0-9-]* /supplier.php?isolang=$1&id_supplier=$2 [QSA,L] RewriteRule ^([a-z]{2})/([0-9]+)_[a-zA-Z0-9-]* /manufacturer.php?isolang=$1&id_manufacturer=$2 [QSA,L] RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L] RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L] RewriteRule ^[a-zA-Z0-9-]*/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L] RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*(/[a-zA-Z0-9-]*)+ /category.php?id_category=$1&noredirect=1 [QSA,L] RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]* /category.php?id_category=$1 [QSA,L] RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*) /supplier.php?id_supplier=$1 [QSA,L] RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*) /manufacturer.php?id_manufacturer=$1 [QSA,L] RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms=$1 [QSA,L] RewriteRule ^content/category/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms_category=$1 [QSA,L] RewriteRule ^en/page-not-found$ /404.php?isolang=en [QSA,L] RewriteRule ^en/address$ /address.php?isolang=en [QSA,L] RewriteRule ^en/addresses$ /addresses.php?isolang=en [QSA,L] RewriteRule ^en/authentication$ /authentication.php?isolang=en [QSA,L] RewriteRule ^en/best-sales$ /best-sales.php?isolang=en [QSA,L] RewriteRule ^en/cart$ /cart.php?isolang=en [QSA,L] RewriteRule ^en/contact-us$ /contact-form.php?isolang=en [QSA,L] RewriteRule ^en/discount$ /discount.php?isolang=en [QSA,L] RewriteRule ^en/guest-tracking$ /guest-tracking.php?isolang=en [QSA,L] RewriteRule ^en/order-history$ /history.php?isolang=en [QSA,L] RewriteRule ^en/identity$ /identity.php?isolang=en [QSA,L] RewriteRule ^en/manufacturers$ /manufacturer.php?isolang=en [QSA,L] RewriteRule ^en/my-account$ /my-account.php?isolang=en [QSA,L] RewriteRule ^en/new-products$ /new-products.php?isolang=en [QSA,L] RewriteRule ^en/order$ /order.php?isolang=en [QSA,L] RewriteRule ^en/order-follow$ /order-follow.php?isolang=en [QSA,L] RewriteRule ^en/quick-order$ /order-opc.php?isolang=en [QSA,L] RewriteRule ^en/order-slip$ /order-slip.php?isolang=en [QSA,L] RewriteRule ^en/password-recovery$ /password.php?isolang=en [QSA,L] RewriteRule ^en/prices-drop$ /prices-drop.php?isolang=en [QSA,L] RewriteRule ^en/search$ /search.php?isolang=en [QSA,L] RewriteRule ^en/sitemap$ /sitemap.php?isolang=en [QSA,L] RewriteRule ^en/stores$ /stores.php?isolang=en [QSA,L] RewriteRule ^en/supplier$ /supplier.php?isolang=en [QSA,L] RewriteRule ^en$ /en/ [QSA,L] RewriteRule ^en/([^?&]*)$ /$1?isolang=en [QSA,L] RewriteRule ^fr/page-non-trouvee$ /404.php?isolang=fr [QSA,L] RewriteRule ^fr/adresse$ /address.php?isolang=fr [QSA,L] RewriteRule ^fr/adresses$ /addresses.php?isolang=fr [QSA,L] RewriteRule ^fr/authentification$ /authentication.php?isolang=fr [QSA,L] RewriteRule ^fr/meilleures-ventes$ /best-sales.php?isolang=fr [QSA,L] RewriteRule ^fr/panier$ /cart.php?isolang=fr [QSA,L] RewriteRule ^fr/contactez-nous$ /contact-form.php?isolang=fr [QSA,L] RewriteRule ^fr/bons-de-reduction$ /discount.php?isolang=fr [QSA,L] RewriteRule ^fr/suivi-commande-invite$ /guest-tracking.php?isolang=fr [QSA,L] RewriteRule ^fr/historique-des-commandes$ /history.php?isolang=fr [QSA,L] RewriteRule ^fr/identite$ /identity.php?isolang=fr [QSA,L] RewriteRule ^fr/fabricants$ /manufacturer.php?isolang=fr [QSA,L] RewriteRule ^fr/mon-compte$ /my-account.php?isolang=fr [QSA,L] RewriteRule ^fr/nouveaux-produits$ /new-products.php?isolang=fr [QSA,L] RewriteRule ^fr/commande$ /order.php?isolang=fr [QSA,L] RewriteRule ^fr/details-de-la-commande$ /order-follow.php?isolang=fr [QSA,L] RewriteRule ^fr/commande-rapide$ /order-opc.php?isolang=fr [QSA,L] RewriteRule ^fr/avoirs$ /order-slip.php?isolang=fr [QSA,L] RewriteRule ^fr/mot-de-passe-oublie$ /password.php?isolang=fr [QSA,L] RewriteRule ^fr/promotions$ /prices-drop.php?isolang=fr [QSA,L] RewriteRule ^fr/recherche$ /search.php?isolang=fr [QSA,L] RewriteRule ^fr/plan-du-site$ /sitemap.php?isolang=fr [QSA,L] RewriteRule ^fr/magasins$ /stores.php?isolang=fr [QSA,L] RewriteRule ^fr/fournisseurs$ /supplier.php?isolang=fr [QSA,L] RewriteRule ^fr$ /fr/ [QSA,L] RewriteRule ^fr/([^?&]*)$ /$1?isolang=fr [QSA,L] </IfModule> Pas de soucis réécriture URL # Catch 404 errors ErrorDocument 404 /404.php <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType text/css "access plus 1 week" ExpiresByType text/javascript "access plus 1 week" ExpiresByType application/javascript "access plus 1 week" ExpiresByType application/x-javascript "access plus 1 week" ExpiresByType image/x-icon "access plus 1 year" </IfModule> Pas de soucis gestions des erreurs 404 FileETag INode MTime Size <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript </IfModule> Inconnu au bataillon ? Me suggérez vous des modifications de mon htaccess ou comporte t-il des erreurs majeurs ? Notamment sur l’existence de commande en double et si aucune commande n’interfère avec l’indexation d'image. Link to comment Share on other sites More sharing options...
Onices Posted April 9, 2015 Author Share Posted April 9, 2015 RewriteCond %{HTTP_REFERER} RewriteCond %{HTTP_REFERER} !^http://www.mondomaine.com /.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.mondomaine.com $ [NC] Condition qui dit que si la ressource demandée n'ai pas demandée depuis ton domaine (si le référer n'est pas toi même) ce qui semble indiquer une mesure anti hotlink vu que la condition s'applique a une règle portant sur les ressources : RewriteRule .*.(jpg|jpeg|gif|png|bmp|swf|tpl|css)$ -http://www.mondomaine.com / [R,NC] Cela peut être la source de la non indexation de tes images. Normalement tu peux virer les 5 lignes (conditions et règle qui vont ensemble) sans affecter le fonctionnement de façon significative. Les éléments "Order Allow,Deny et Allow from all" sont ils utiles ? Car "Deny from xx.xx.xxx.xxx" est déjà présent ? Oui sinon cela ne fonctionnera pas ne touche pas. CODE: TOUT SÉLECTIONNER <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType text/css "access plus 1 week" ExpiresByType text/javascript "access plus 1 week" ExpiresByType application/javascript "access plus 1 week" ExpiresByType application/x-javascript "access plus 1 week" ExpiresByType image/x-icon "access plus 1 year" </IfModule> ça c'est pas une histoire de 404 c'est une histoire d'en-tête pour dire que la ressource (jpg, CSS, ...) peut être mise en cache un mois par le navigateur (c'est utile ça évite de recharger la feuille de stye a chaque page par exemple quand on navigue sur ton site). CODE: TOUT SÉLECTIONNER <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript </IfModule> Compression des sorties (html, CSS, JS) .... utile permet d'envoyer la page zipée au navigateur (gain de poids donc de temps de transit) J'apporte la réponse à mes questions concernant les éléments présent de le fichier htaccess. La réponse à été apporté par Zeb du forum Webrankinfo. Le lien du post complet est ici . Concernant le problème d'indexation des images, j'ai suite au commentaire en rouge réécrit cette commande de cette façon : RewriteRule .*.(tpl|css)$ -http://www.mondomaine.com / [R,NC] Je permet donc à d'autre sites d'utiliser mes images, par contre je supprime la protection contre le Hotlinking. Je commenterai le résultat plus tard sur l'efficacité de cette manipulation. Si vous avez des commentaire à ajouter n'hésitez pas. 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