【发布时间】:2012-02-28 00:56:01
【问题描述】:
我在我的网站上使用 url 重写并实现了代码:
r = new Regex(@"Default.aspx\?Buy=(?<1>[\w\-\+]*)(?:&|&)+PageIndex=(?<2>[\d]*)""", RegexOptions.IgnoreCase);
txt = r.Replace(txt, "$1_dp.html?page=$2\"");
在这种情况下,我的链接是:
www.mydomain.com/computers_dp.html?page=0 [1,2,3] 取决于页码。
RegEx 是否可以通过简单的方法检查 page = 0 然后不添加参数 ?page=0 并且仅在 PageIndex > 0 时添加它。
谢谢!
【问题讨论】:
-
我有点困惑。如果已经有 ?page=1,您要添加 ?page=0 吗?
-
否,如果 PageIndex 值 > 0 则应为 page=[PageIndex],如果 PageIndex == 0,则 page=0 不应在 url 中
-
PageIndex 从何而来?我认为您需要更多示例。
-
PageIndex 是原始 url:mydomain.com/Default.aspx?Buy=computers&PageIndex=1 结果应该是 mydomain.com/computers_dp.html?page=1 或 mydomain.com/computers_dp.html 如果是原始的是 mydomain.com/Default.aspx?Buy=computers&PageIndex=0
标签: asp.net regex url-rewriting