【问题标题】:Url rewriting - Querystring parsing网址重写 - 查询字符串解析
【发布时间】:2012-09-27 20:25:20
【问题描述】:

我是 URL 重写的新手,有点沮丧。我在服务器上使用 Helicon,并且已经正确地重写了大多数 URL。

(我必须删除“//”才能提交问题,但网址是标准的 http:// 版本)

我的最后一个任务是得到这些:

http://example.com/Object/?page=1

http://example.com/Object/?page=1&pagesize=10

http://example.com/Object/?page=1&pagesize=10&backcolor=red

http://example.com/default.aspx?resource=Object&page=1

http://example.com/default.aspx?resource=Object&page=1&pagesize=10

http://example.com/default.aspx?resource=Object&page=1&pagesize=10@backcolor=red

最好我想要一个规则来处理所有 3 种可能性,但如果我需要制定 3 个规则,每个规则一个,并在末尾添加一个 [L] 或其他内容也可以。我就是无法正确解析查询字符串。

这是我现有的一条规则,可以让您了解我一直在做什么:

RewriteRule ^/([a-zA-Z0-9]+)(/([a-zA-Z0-9]+)(/([a-zA-Z0-9]+))?)?/?($|\?) /default.aspx?resource=$1&id=$3&option=$5 [L]

这是一个单独的示例,但语法显示了我在做什么。

【问题讨论】:

    标签: regex iis url-rewriting iis-6 helicontech


    【解决方案1】:

    这对你有用吗?

    RewriteRule ^\/([^/]*)\/\?(.*)$ /default.aspx?resource=$1&$2 [L]
    

    [更新]

    试试这个:

    RewriteRule ^([^/]*(?=\/)|[^?]*(?=\?)|.*)($|[^\?]*\?(.*)) /default.aspx?resource=$1&$3 [L]
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-16
    • 2011-02-01
    • 2019-05-03
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 2011-01-06
    相关资源
    最近更新 更多