redirect - 重写 URL 重定向
问题描述
我正在尝试从此地址重写 URL:
https://merchant.test-01.mysite.co/payment-gateway/vend?amount=69.90®ister_id=12¤cy=NZD
到这个地址:
https://mysite.co/nz/test-01/merchant/payment-gateway/vend?amount=69.90®ister_id=12¤cy=NZD
我试试这个:
<rule name="test01Generic" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(\S+?).test-01.mysite.co$" />
</conditions>
<action type="Redirect" url="https://mysite.co/nz/test-01/{C:1}" redirectType="Found" />
</rule>
有了这个结果:
https://mysite.co/nz/test-01/merchant?amount=69.90®ister_id=12¤cy=NZD
哪里payment-gateway/vend
不见了
和这个
<rule name="test01Generic" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(\S+?).test-01.mysite.co$" />
</conditions>
<action type="Redirect" url="https://mysite.co/nz/test-01/{C:1}{REQUEST_URI}" redirectType="Found" />
</rule>
有了这个结果:
查询参数加倍。
关于我缺少什么的任何想法?
解决方案
请将 {REQUEST_URI} 修改为 {URL} 并将 appendQuerySrin 设置为 true,这样就可以了。
<rule name="test0Generic" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(\S+?).test-01.mysite.co$" />
</conditions>
<action type="Redirect" url="https://mysite.co/nz/test-01/{C:1}{URL}" appendQueryString="true" redirectType="Found" />
</rule>
推荐阅读
- user-interface - 触摸砖块时如何打开 GUI?(启用过滤)
- asp.net-identity - 如何在asp.net identity core 2.0中防止同一用户多次登录
- ios - 如何在 EventKit 中使用 CalendarIdentifier 获取提醒?
- java - Java 自定义解析器,如 XML
- c# - 游戏在第 0 个场景停止
- python - 如何在 python 中使用 np.zeros 作为迭代器?
- c++ - 尝试使用二维数组
- python - 从 numpy 数组中删除类似方波的伪影
- database - 如何在 Oracle SQL Plus 中排列或格式化表结果
- java - 为Jbutton的图标设置不同的背景颜色