【问题标题】:How to correctly use QUERY_STRING in ISAPI rewrite?如何在 ISAPI 重写中正确使用 QUERY_STRING?
【发布时间】:2016-12-10 05:26:28
【问题描述】:

我在这方面遇到了困难,希望你们能提供帮助。

在我们的 IIS 服务器上使用 Helicon ISAPI Rewrite 版本 3.1.0.104。我编辑了 http.conf 文件并尝试了所有方法,但仍然失败。

这就是我想要做的:

重定向此网址: https://www.domain.com/switch-by-version?version=2.8.5.2594

到: https://test.domain.com/load/load.aspx?tver=2.8.5.2594

源 url 末尾的版本号会改变,我需要目标 url 在其 url 末尾具有相同的版本号,如上例所示。

我尝试了以下方法,但它不起作用:

RewriteCond %{QUERY_STRING} ^version=(\d\d?)\.(\d\d?)\.(\d\d?)\.(.*)$ [NC]

RewriteRule ^/switch-by-version(.*)$ https://test.domain.com/load/load.aspx?tver=%1 [R=307,NC,L]

任何帮助将不胜感激! 谢谢。

【问题讨论】:

  • 你要回应吗?
  • 谢谢沃尔夫!是的,这是正确的!抱歉,我在亚马逊的 reInvent 并没有检查任何东西。再次感谢您。

标签: asp.net regex mod-rewrite url-rewriting


【解决方案1】:

如果它在 .htaccess 的等效上下文中运行,则规则不应以 / 开头。这是一个更简单的版本:

RewriteCond %{QUERY_STRING} ^version=(\d+\.\d+\.\d+(?:\..+)?)$ [NC]
RewriteRule ^switch-by-version/?$ https://test.domain.com/load/load.aspx?tver=%1 [R=307,NC,L]

【讨论】:

    猜你喜欢
    • 2011-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多