pangolinoss Posted July 20, 2021 Share Posted July 20, 2021 (edited) Bonjour, J'essaie de mettre en place des règles de réécriture dans mon .htaccess pour des pages qui n'existent plus. Sur des URL de type "ma-page", aucun souci. Mais dès lors que l'URL commence par index.php, ma règle n'est pas utilisée. Evidemment j'ai bien mis [L] en fin de ligne. Je n'utilise pas trop Prestashop, donc je pense que quelque chose m'a échappé. Quelqu'un aurait-il une idée ? Merci à ceux qui liront ce message Edited July 21, 2021 by pangolinoss (see edit history) Link to comment Share on other sites More sharing options...
doekia Posted July 20, 2021 Share Posted July 20, 2021 Une copie de votre .htaccess ainsi qu'une énumération de page concernées permettrait peut-être de vous aider Link to comment Share on other sites More sharing options...
pangolinoss Posted July 20, 2021 Author Share Posted July 20, 2021 En effet, merci. Ci-dessous mon .htaccess. La ligne ^best-sales?.*$ fonctionne bien, la suivante rien du tout. Dès qu'il y a index.php dans l'URL, rien ne passe, ou alors on est redirigés sur la page d'accueil, sans le index.php dans l'URL (donc en gardant les variables GET) #RewriteEngine on # ~~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_security.c> SecFilterEngine Off SecFilterScanPOST Off </IfModule> <IfModule mod_rewrite.c> <IfModule mod_env.c> SetEnv HTTP_MOD_REWRITE On </IfModule> RewriteEngine on RewriteBase / RewriteRule ^best-sales?.*$ meilleures-ventes [R=301,L] RewriteRule ^index.php?test=toto$ testing.php?var=toto [L] RewriteRule . - [E=REWRITEBASE:/] RewriteRule ^api$ api/ [L] RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L] # Images RewriteCond %{HTTP_HOST} ^www.domain.com$ RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^www.domain.com$ 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.domain.com$ 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.domain.com$ 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.domain.com$ 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.domain.com$ 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.domain.com$ 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.domain.com$ 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.domain.com$ RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^www.domain.com$ RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L] # AlphaImageLoader for IE and fancybox RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L] # Dispatcher RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L] </IfModule> AddType application/vnd.ms-fontobject .eot AddType font/ttf .ttf AddType font/otf .otf AddType application/font-woff .woff AddType font/woff2 .woff2 <IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|svg)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch> </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 RedirectPermanent /contactenos https://www.domain.com/contactez-nous RedirectPermanent /contact-us https://www.domain.com/contactez-nous RedirectPermanent /fr/ https://www.domain.com RedirectPermanent /1-accueil https://www.domain.com Link to comment Share on other sites More sharing options...
doekia Posted July 20, 2021 Share Posted July 20, 2021 (edited) 1/ mettez vos règles en dehors de la section Prestashop (avant la lign #~~start~~ Do not remove this comment,...) 2/ La partie query string (après le ?) d'une url n'est pas présente dans l'url elle même vous devez utiliser la variable QUERY_STRING dans un rewrite_cond RewriteCond %{QUERY_STRING} test=toto [NC] RewriteRule ^index.php testing.php?var=toto [L] Je précise que ceci n'a rien a voir avec PrestaShop, c'est purement une syntaxe Apache Edited July 20, 2021 by doekia (see edit history) Link to comment Share on other sites More sharing options...
pangolinoss Posted July 21, 2021 Author Share Posted July 21, 2021 Bonjour, Merci beaucoup. Je vais regarder tout ça. Link to comment Share on other sites More sharing options...
pangolinoss Posted July 21, 2021 Author Share Posted July 21, 2021 Impeccable, merci. 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