我是RewriteEngine的新手,但未能找到以下问题的答案。我运行一个电子商务网站,其中包含不断变化的产品目录。我们的网址是动态的。问题是,如果我想将动态变量重定向到不同的动态变量,该怎么办。
例如,我想:
http://www.mydomain.com/product.jhtm?id=12345
现在转到:
www.mydomain.com/product.jhtm?id=78910
如何通过.htaccess执行此操作?
提前致谢。
答案 0 :(得分:0)
您需要使用RewriteMap指令的外部重写程序功能。实际上,您可以用您想要的任何语言编写应用程序(只要您使其可执行),读取STDIN上的原始ID,然后在STDOUT上输出新的ID。然后,您可以在RewriteRules中引用该应用程序。
在您的应用程序层而不是.htaccess文件中实现这种逻辑可能更容易,特别是因为外部重写程序必须连续运行,而不是为每次新的重写调用。
答案 1 :(得分:0)
您需要使用地图类型为prg
的{{3}},以便让脚本查找原始ID并返回新ID。不要忘记查询字符串只能在RewriteCond
中拆分。