RedirectPermanent des pages avec variables

Nouveau WRInaute
Bonjour
J'ai besoin de votre aide.
Suite àune migration de notre site (passage de webdev à prestashop), nous avons plus de 5000 pages à rediriger.
Les pages ont des url de ce genre:
/fr/produit.awp?P1=46&AWPID747F7C
/fr/produit.awp?P1=94&AWPID747F7CE0=B70C06048889BE938301E55
/fr/produit.awp?P1=22&AWPID747F7CE0
.
.
.

Pour l'instant, j'ai fais ce que je savais, c'est à dire une redirection de cette façon:

RedirectPermanent /fr/produit.awp?P1=22&AWPID747F7CE0=4CC127FBCD8244E98AADC07609D33A25EE0215E8 https://www.monsite.com/fr/
et ca pour les 5 000 lignes!!!!

Pb, depuis que j'ai fais ca, le site est TRES lent à chargé!

Comment peut-on faire ca d'une façon plus élégante?

Merci
 
WRInaute accro
tu redirige "/fr/produit.awp" vers un script (asp, php, ...) qui lui fait la 301 en dur par comparaison des paramètres.
pour les 5 000 lignes!!!!
C'est normal le fichier est parsé pour chaque requête (image, css, ...) donc tu met le serveur a genoux.
 
WRInaute accro
mathis2015 a dit:
et comment on fait le script ?
Bah c'est un script comme un autre tu l'a fait comment ton site ?
mathis2015 a dit:
on ne peut pas faire un script directement ds le htacess ?
Si comme tu viens de la faire mais c'est LA mauvaise solution dans ton cas.
 
Nouveau WRInaute
il n'y a pas une facon de dire à apach que pour tous les liens avec cette 1ere partie
RedirectPermanent /fr/produit.awp?

renvoyer vers monsite.fr ?

j'ai essayé l'étoile, mais ca n'a pas marché
RedirectPermanent /fr/produit.awp? * https://www.monsite.com/fr/
 
Nouveau WRInaute
Salut,

PHP:
<span class="syntaxdefault"><br /></span><span class="syntaxkeyword"><</span><span class="syntaxdefault">IfModule mod_rewrite</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">c</span><span class="syntaxkeyword">><br /></span><span class="syntaxdefault">    RewriteEngine On<br />    RewriteBase </span><span class="syntaxkeyword">/<br /></span><span class="syntaxdefault">    RewriteRule </span><span class="syntaxkeyword">^</span><span class="syntaxdefault">produit</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">awp</span><span class="syntaxkeyword">(.*)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">/</span><span class="syntaxdefault">fr</span><span class="syntaxkeyword">/?</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxdefault">L</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">R</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">301</span><span class="syntaxkeyword">]<br /><br /></</span><span class="syntaxdefault">IfModule</span><span class="syntaxkeyword">><br /></span><span class="syntaxdefault"> </span>
 
WRInaute impliqué
les paramètres ne sont pas dans la variable qui est testée avec cette écriture, donc le (.*) qui prend quelques ms de plus, ne sert en plus à rien.
 
Nouveau WRInaute
Ok
Donc je vais tester ca ce soir

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^produit.awp /fr/? [L,R=301]

</IfModule>


Vous pourriez avoir l'amabilité de m'expliquer un peu ce code (pour que je ne meurs pas bête lol )
Merci
 
Nouveau WRInaute
Merci pour votre aide.
J'ai essayé votre code.
Mais j'ai l'impression que cela n'a rien changé à la vitesse du chargement du site.

Lien du site: https://www.satishair.com/fr/

On a réalisé 3 sites sur le même principe (hébergement OVH, Prestashop) et c'est le seul qui est lent! :(
 
Nouveau WRInaute
Regarde ce que tu as dans le fichier '.ovhconfig' à la racine de ton hébergement.
Fais un test en désactivant le PHP-FPM d'OVH, c'est pas toujours top comme système.
PHP:
<span class="syntaxdefault"><br />app</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">engine</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">phpcgi<br />app</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">engine</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">version</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">AUTO<br /><br /><br />http</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">firewall</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">none<br />environment</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">production<br /></span>
 
Nouveau WRInaute
Merci à tous.
Zeb, C'est bizarre, d’après gtmetirx, satishair est plus rapide que trustfire. Mais étrangement sur mon poste trustfire s'affiche très vitre alors que satishair met bien 5 secondes!!!

Est-ce que https peut ralentir le site???


Une autre question svp, on a d'autres liens du type
https://www.satishair.com/FR/recherche.awp?P2=7&AWPID747F7CE0=C7C12092BB681
https://www.satishair.com/fr?P1=4&AWPID747F7CE0=D

à rediriger.
Je peux faire ca:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^produit.awp /fr/? [L,R=301]
RewriteRule ^recherche.awp /fr/? [L,R=301]
RewriteRule ^fr?P1? [L,R=301]

</IfModule>


Je ne suis pas sure du RewriteRule ^fr?P1? [L,R=301]

Merci pour votre aide :)
 
Nouveau WRInaute
Nouveau WRInaute
Le mieux serait déjà que tu mettes en place le .htaccess pour voir.
La ligne "RewriteRule ^fr?P1? [L,R=301]" n'est pas bonne. Essaie ça :
PHP:
<span class="syntaxdefault"><br />RewriteRule&nbsp;</span><span class="syntaxkeyword">^</span><span class="syntaxdefault">fr</span><span class="syntaxkeyword">?&nbsp;/</span><span class="syntaxdefault">fr</span><span class="syntaxkeyword">/?&nbsp;[</span><span class="syntaxdefault">L</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">R</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">301</span><span class="syntaxkeyword">]<br />&nbsp;</span><span class="syntaxdefault"></span>
Pour la vitesse le https ne doit pas avoir d'incidence. En revanche la config du '.ovhconfig' devrait résoudre ton problème. La config d'origine n'est pas MVC-friendly. J'ai déjà eu le problème avec CakePHP.
 
WRInaute accro
concombre a dit:
Pour la vitesse le https ne doit pas avoir d'incidence.
Peut être pas dans le cas de figure mais c'est loin d'être anodin de crypter un contenu ... Bref https est forcement plus lent (plus de travail ...)
 
Nouveau WRInaute
j'ai désactiver mais j'ai eu ca comme réponse:
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/satishaipi/www/index.php on line 28

pas évident
c'est juste la 1ere page qui est superbe lente à s'afficher, après ca va relativement vite...
 
Nouveau WRInaute
Il prend une vieille version de PhP et ne reconnait pas la classe statique. Si tu ne veux pas avoir l'erreur, essaie de fixer la version de php dans le .htaccess.

PHP:
<span class="syntaxdefault"><br />AddType x</span><span class="syntaxkeyword">-</span><span class="syntaxdefault">mapp</span><span class="syntaxkeyword">-</span><span class="syntaxdefault">php5 </span><span class="syntaxkeyword">.</span><span class="syntaxdefault">php<br />SetEnv PHP_VER 5_4<br /></span>
 
Discussions similaires
Haut