Jump to content

Correction htaccess


Recommended Posts

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

 

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...