ISAPI重写规则以允许可选参数

时间:2013-05-04 05:48:25

标签: iis asp-classic isapi isapi-rewrite

我正在使用ISAPI重写来重写我们网站的新闻源。我遇到的问题是重写规则没有考虑可以为谷歌跟踪传递的可选参数。

典型的链接如下:

http://www.phmotorcycles.co.uk/motorcycle_news/categories/motorcycle-parts/news_801580922_rossi-jerez-is-%EF%BF%BDvery-important%EF%BF%BD.html

涵盖此内容的重写规则是:

Rewriterule ^/motorcycle_news/categories/(.*?)/news_(\d+)_(.*)\.html$ /newsItem.asp?cat=$1&cpID=$2&page=$3 [NC]

显然问题在于在重写规则的.html部分之后使用$。问题是如何更改此设置,以便可以将可能的google参数组合添加到网址,而不会导致服务器上的链接中断?

参数如:

?utm_source=dlvr.it&utm_medium=twitter

任何线索都受到了极大的欢迎和赞赏。

1 个答案:

答案 0 :(得分:0)

请尝试修改您的规则,如下所示:

RewriteCond %{QUERY_STRING} ^(utm_source=.*&utm_medium=.*)?$ [NC]
Rewriterule ^/motorcycle_news/categories/([^/]+)/news_(\d+)_(.*)\.html$ /newsItem.asp?cat=$1&cpID=$2&page=$3 [NC]