web-dev-qa-db-fra.com

Comment rediriger une URL sans chaîne de requête vers une URL avec une chaîne de requête?

J'ai regardé autour de moi pour trouver la réponse à ma question mais seulement pour être encore plus confus. J'espère que quelqu'un pourra m'aider ...

J'ai besoin de rediriger cette URL:

http://www.example.co.uk/ecommerce/cabinets/aluminium_cabinets

À:

http://www.example.co.uk/products/cabinets/?types[]=illuminated-aluminium-cabinets&types[]=non-illuminated-aluminium-cabinets

J'utilise le mod rewrite dans .htaccess

2
Moclin

Aucune supercherie particulière n'est requise. Utilisation de mod_rewrite dans .htaccess:

RewriteEngine On
RewriteRule ^ecommerce/cabinets/aluminium_cabinets$ /products/cabinets/?types[]=illuminated-aluminium-cabinets&types[]=non-illuminated-aluminium-cabinets [R,L]

Apache échappera (encodera pour cent) les crochets ([ et ]) par défaut, qui ne sont pas strictement autorisés non codés dans ce contexte dans l'URL. (Cela n'affectera pas la lecture des paramètres d'URL utilisant le tableau $_GET de PHP.)

Ceci est une redirection temporaire (302). Pour le rendre permanent, remplacez R par R=301. Sinon, pour en faire un réécriture interne, supprimez simplement le drapeau R.

1
MrWhite