2010-04-19 3 views
0

Je suis nouveau sur le RewriteEngine et je n'ai pas été en mesure de trouver une réponse au problème suivant. Je gère un site de commerce électronique avec un catalogue de skus de produits en constante évolution. Nos URL sont dynamiques. La question est, et si je veux avoir une variable dynamique rediriger vers une variable dynamique différente.Réécrire une URL dynamique à une nouvelle URL dynamique

Par exemple, je veux:

http://www.mydomain.com/product.jhtm?id=12345

maintenant passer à:

www.mydomain.com/product.jhtm?id=78910

Comment puis-je faire à travers le .htaccess?

Merci d'avance.

Répondre

0

Vous devrez utiliser la fonction Programme de réécriture externe de la directive RewriteMap. En effet, vous écrivez une application dans la langue de votre choix (à condition de la rendre exécutable), qui lit l'ID d'origine sur STDIN, puis affiche la nouvelle sur STDOUT. Vous pouvez ensuite référencer cette application dans votre RewriteRules. Il peut être plus facile d'implémenter ce type de logique sur votre couche d'application plutôt que dans un fichier .htaccess, d'autant plus que le programme de réécriture externe doit fonctionner en continu, plutôt que d'être appelé pour chaque nouvelle réécriture.

0

Vous devez utiliser RewriteMap avec un type de carte prg pour qu'un script recherche l'ID d'origine et renvoie le nouveau. N'oubliez pas que la chaîne de requête ne peut être décomposée qu'en RewriteCond.