web-dev-qa-db-fra.com

Utilisation de .htaccess pour définir un cookie et une redirection 301

J'ai actuellement dans mon . Htaccess :

RewriteRule ^$ http://chfmaine.com/ [CO=moved:yes:chfmaine.com:1/,R=301,NE,NC,L]

J'étais basant ceci sur ce post .

C'est beaucoup plus que ce dont j'ai besoin, mais la configuration du cookie devrait être la même. Peut-être que je ne comprends pas la partie domaine du cookie. Si je le règle sur CHFmaine.com ne devrait-il pas en être ainsi?

J'ai essayé d'ajouter le cookie après le 301. De la même manière, le 301 fonctionne, mais aucun cookie n'est transmis. Ceci redirige de maine-horse-trails.com vers chfmaine.com. J'en ai 23 pour toutes les différentes pages qui étaient sur l'ancien site. Tout ce qui atterrit sur ce .htaccess sera redirigé et le cookie devrait être défini. Donc, s’il existe un moyen de transmettre d’abord le cookie à quelqu'un, puis de procéder à la réécriture correspondante, cela serait utile. Mais si je peux obtenir cette façon de travailler, cela ne me dérange pas d'utiliser copier et coller pour l'obtenir sur toutes les possibilités. et je ne veux pas transmettre de requêtes dans l'URL.

Ma question est, qu'est-ce que je fais mal ici? Pourquoi ne puis-je pas trouver ce cookie après une redirection réussie? Et y a-t-il une meilleure option?

4
JpaytonWPD

Vous ne pouvez pas trouver le cookie après une redirection, car le cookie n'est jamais défini. Le redierect se produit dans Apache, avant que tout PHP ou autre code ne soit exécuté.

Vous pouvez utiliser une redirection PHP. Par exemple, atterrissez sur la page, définissez le cookie, puis redirigez.

Voir cette question pour plus d'informations. https://stackoverflow.com/questions/612034/how-can-i-set-a-cookie-and-then-redirect-in-php

En outre, les cookies sont spécifiques à un domaine. Si vous définissez un cookie sur un site, il ne sera pas transféré sur le suivant. En fonction de l'utilisation du cookie, un $ _GET peut être une meilleure option.

3
EPICWebDesign