url-rewriting和rss feed(feedburner)问题

时间:2010-01-08 11:47:13

标签: mod-rewrite rss url-rewriting feeds

我使用以下规则来阅读像

这样的网址

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)

我的重写网址不再识别上述网址。知道怎么处理吗?

3 个答案:

答案 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]