.htaccess 将货币符号转换为货币代码

.htaccess 将货币符号转换为货币代码,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我希望将URL重定向到新域,并手动将任何货币符号编辑为我在htaccess中设置的货币代码 所以 应该重定向到 https://mynewexample.com/ticket12/USD4.44 然后,当一个不同的选项出现时,。/vipticket17/USD6.45这些值也会传递到新站点。因此,票据的通配符值应与票据名称值(另一个变量)一起转发 到目前为止,我只需要弄清楚如何将ticketname变量传递到新的url。可能这里比较棘手的部分是$symbol,它也被regex/htaccess

我希望将URL重定向到新域,并手动将任何货币符号编辑为我在htaccess中设置的货币代码

所以

应该重定向到

https://mynewexample.com/ticket12/USD4.44
然后,当一个不同的选项出现时,
。/vipticket17/USD6.45
这些值也会传递到新站点。因此,票据的通配符值应与票据名称值(另一个变量)一起转发

到目前为止,我只需要弄清楚如何将ticketname变量传递到新的url。可能这里比较棘手的部分是$symbol,它也被regex/htaccess用作通配符

RewriteRule ^ticket12\/\$\/?(.*)$ "https\:\/\/mynewexample\.com\/ticket12\/USD$1" [R=301,L]

您可以使用以下通用规则:

RewriteEngine on

RewriteRule ^(.+)/[$]([0-9.]+)$ http://newsite.com/$1/USD$2 [L,R]

从我们的讨论中,我想可以安全地假设您没有与此相同上下文相关的其他URL,如
/xxx/$yyy
(其中
xxx
可以是多个子文件夹)

所以你可以使用这个规则

RewriteRule ^(.+)/\$([0-9]+)\.([0-9]+)$ https://mynewexample.com/$1/USD$2.$3 [R=301,L]

这种URL看起来很奇怪。我认为您应该使用GET/ticket12获取票证,并使用POST有效载荷{currency:'USD',amount:'4.00'}使用POST/ticket12,然后您可以在服务器应用程序中验证值和有效载荷,并使用php/node等进行重定向。Rainer-只需要2个变量,这肯定是regex可以轻松处理的事情吗?Justin-票证名称也可能会改变,因此需要在这些正向斜杠之间传递任何内容。这部分是否每次都包含单词
票证
?嗨,Justin,不,票证的价值和货币随票证名称而变化。这看起来不错,但是,当我尝试在RewriteRule^(.+)/[$]([0-9.]+)$)上添加所需的额外货币时,
RewriteEnginehttp://newsite.com/$1/USD$2[L,R]重写规则^(+)/[£]([0-9.]+)$http://newsite.com/$1/GBP$2[L,R]
新条目不起作用,我需要添加一手其他货币,如欧元etc@Gracie
在正则字符类中不起作用
[]
。您可以简单地删除方括号。尝试此模式
^(+)/([0-9.]+)$
RewriteRule ^(.+)/\$([0-9]+)\.([0-9]+)$ https://mynewexample.com/$1/USD$2.$3 [R=301,L]