我使用以下规则来阅读像
这样的网址URL: 的 http://www.example.com/blog/sampe-post-title/10004/
RULE:
RewriteRule (.*)/(.*)/([0-9]+)/$ $1/details.asp?mod_id=$3 [NS,I]
一切都很好,直到我发现通过feedburner的链接不再起作用了。因为feedburner为统计/跟踪等URL添加了一些额外的参数。
例如 www.example.com/blog/sampe-post-title/10004/?utm_source=feedburner&utm_medium=email&utm_campaign=Feed:+somesite+(my + feed)
我的重写网址不再识别上述网址。知道怎么处理吗?
答案 0 :(得分:2)
尝试为feedburner网址添加规则:
RewriteRule (.*)/(.*)/([0-9]+)/\?(.*)$ $1/details.asp?mod_id=$3&$4 [NS,I]
我在最后添加了一个额外的RegEx组来捕获问号后的所有内容并将其放在mod_id
之后。如果您出于某种原因只想要一条规则,那么您可以将其与其他网址相结合,但您可能只有两条规则。
答案 1 :(得分:0)
尝试使用 QSA 标记,将原始请求的网址查询自动附加到新网址上。
答案 2 :(得分:0)
我设法自己找出答案:只用$
替换结尾.*
就是这样!
以下是修改后的规则:
RewriteRule (.*)/(.*)/([0-9]+)/.* $1/details.asp?mod_id=$3 [NS,I]