Redirect permanent d'un ancien site vers un site prestashop

Discussion dans 'URL Rewriting et .htaccess' créé par MaxSmall, 13 Décembre 2013.

  1. MaxSmall
    MaxSmall Nouveau WRInaute
    Inscrit:
    13 Décembre 2013
    Messages:
    2
    J'aime reçus:
    0
    Bonjour,

    Comme le nom l'indique j'ai migré mon ancien site vers un site prestashop.
    Le souci c'est que l'ancien était très bien référencé sur google et que j'aimerais rediriger mes anciennes pages vers l'accueil du nouveau site.
    Ça fonctionne très bien avec ce code pour une page simple ou même plus complexe avec des sous dossiers, par exemple:
    Code:
    RedirectPermanent /page-old.html http://www.monsite.com/
    RedirectPermanent /Catalogue/Marques/page-old.html http://www.monsite.com/
    
    le souci vient quand j'ai 3 sous-dossiers par exemple:
    Code:
    RedirectPermanent /Catalogue/Marques/Marque1/page-old.html http://www.monsite.com/
    
    Ceci me redirige vers http://www.monsite.com/Marque1/page-old.html
    Et biensur je tombe sur une 404.


    Je ne sais pas si c'est la réécriture de prestashop qui fait cela mais je suppose que oui ?
    Je ne connais pas assez bien la rééecriture d'url mais prestashop fait ceci:
    Code:
    # ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
    # .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
    # http://www.prestashop.com - http://www.prestashop.com/forums
    
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www.tablia.ch$
    RewriteRule . - [E=REWRITEBASE:/]
    RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
    
    # Images
    RewriteCond %{HTTP_HOST} ^www.tablia.ch$
    RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
    RewriteCond %{HTTP_HOST} ^www.tablia.ch$
    RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
    RewriteCond %{HTTP_HOST} ^www.tablia.ch$
    RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
    RewriteCond %{HTTP_HOST} ^www.tablia.ch$
    RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
    RewriteCond %{HTTP_HOST} ^www.tablia.ch$
    RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
    RewriteCond %{HTTP_HOST} ^www.tablia.ch$
    RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
    RewriteCond %{HTTP_HOST} ^www.tablia.ch$
    RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
    RewriteCond %{HTTP_HOST} ^www.tablia.ch$
    RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
    RewriteCond %{HTTP_HOST} ^www.tablia.ch$
    RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
    RewriteCond %{HTTP_HOST} ^www.tablia.ch$
    RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
    
    # Dispatcher
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteCond %{HTTP_HOST} ^www.tablia.ch$
    RewriteRule ^.*$ - [NC,L]
    RewriteCond %{HTTP_HOST} ^www.tablia.ch$
    RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
    </IfModule>
    
    <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>
    
    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>
    
    #If rewrite mod isn't enabled
    ErrorDocument 404 /index.php?controller=404
    
    # ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
    

    Que je place mes redirections avant ou après ce code, rien n'y fait je tombe toujours sur une 404 dès qu'il y a plus de 2 sous dossiers.
    Quelqu'un peut m'aider ?

    Peut-on faire une règle générale pour dire que tout ce qu'il y a après /Catalogue/ soit redirigé vers la page d'accueil de mon nouveau site ?

    En vous remerciant,
    Max
     
  2. Giustino
    Giustino WRInaute discret
    Inscrit:
    19 Novembre 2011
    Messages:
    141
    J'aime reçus:
    0
    Le principe est assez simple et avec une seule règle générique: rediriger n'importe quelle url de l'ancien site vers la page d'accueil du nouveau site. Tu mets donc ce bout de code dans le htaccess de l'ancien site:

    Code:
    RewriteEngine on
    RewriteRule ^.*$ http://www.nouveau-site.com [R=301,L]
    
    Bien sûr, n'oublie pas de remplacer "nouveau-site.com" par ton nom de domaine :)
    Du coup, tu évites tous les problèmes que tu as rencontré avec RedirectPermanent.

    Le principe de PrestaShop est basé sur le même principe que WordPress (entre autres) en redirigeant n'importe quelle url vers l'index.php qui va gérer en interne le rewriting.

    Tu veux rediriger tout ou bien seulement /Catalogue/ ? Je ne m'y retrouve plus là :)
    Si tu veux uniquement que le contenu du dossier "Catalogue" soit redirigé, voici le code pour le htaccess de ton ancien site:

    Code:
    RewriteEngine on
    RewriteRule ^Catalogue/.*$ http://www.nouveau-site.com [R=301,L]
    
     
  3. MaxSmall
    MaxSmall Nouveau WRInaute
    Inscrit:
    13 Décembre 2013
    Messages:
    2
    J'aime reçus:
    0
    Bonjour,

    C'est bien /Catalogue/ que je voulais redirigé :)

    En tout cas merci ça marche très bien ... et en 2 petites lignes.
    Alors que moi j'avais fait un redirect permanent de toutes mes pages :oops:

    merci beaucoup, j'aurais appris quelque chose.
     
Chargement...
Similar Threads - Redirect permanent ancien Forum Date
Redirection permanente d'un ancien site free.fr Netlinking, backlinks, liens et redirections 25 Mars 2013
Anciennes pages dynamiques et redirection permanente URL Rewriting et .htaccess 11 Mars 2011
Redirection permanente ancienne vers nouvelle url - RedirectPermanent URL Rewriting et .htaccess 14 Juillet 2009
Redirections permanentes 301 pour produits arrêtés définitivement e-commerce 27 Novembre 2019
RedirectPermanent : suffisant pour les redirections ? Problèmes de référencement spécifiques à vos sites 19 Octobre 2018
NDD à mots-clés : redirection permanente et référencement ? Débuter en référencement 26 Janvier 2017
Adresse avec www et sans les www redirection permanente Crawl et indexation Google, sitemaps 28 Décembre 2016
Adresse avec www et sans les www redirection permanente Crawl et indexation Google, sitemaps 28 Décembre 2016
RedirectPermanent et caractères spéciaux URL Rewriting et .htaccess 28 Avril 2016
Redirection permanente URL Rewriting et .htaccess 28 Avril 2016
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice