ISAPI使用查询字符串重写



在我的网站上,我有这样的URL:

http:// www.domain.com/something-like-page-title-4en

使用ISAPI重写器(Ionics ISAPI Rewrite Filter),我有以下规则:

RewriteRule ^/([^.?]+[^.?/])$  /index.php?URL_string=$1 [L,U]

这意味着,上述规则将上述URL转换为:

http://www.domain.com/index.php?URL_string=something-like-page-title-4en

如果有人在Facebook上喜欢上面的URL,Facebook会在我的URL中添加额外的跟踪参数,看起来像:

http://www.domain.com/something-like-page-title-4en?fb_action_ids=2159471566173547&fb_action_types=og.likes&fb_source=712&action_object_map=%7B%2780201701278628651%22%3A10110880521592526%7D&action_type_map=%7B%2210201714908651773%22%3A%22og.likes%22%7D&action_ref_map=%5B%5D

我的上述规则无法处理这样的URL(使用查询字符串)。我需要的是一个规则,它将能够捕获两个URL,有查询字符串和没有查询字符串,并按如下方式处理URL:

示例1(带查询字符串的URL):

原始URL:

http://www.domain.com/something-like-page-title-4en?param1=value1&param2=value2

重写URL:

http://www.domain.com/index.php?URL_string=something-like-page-title-4en&param1=value1&param2=value2

示例2(没有查询字符串的URL):

原始URL:

http://www.domain.com/something-like-page-title-4en

重写URL:

http://www.domain.com/index.php?URL_string=something-like-page-title-4en

非常感谢。

使用QSA(查询字符串附加)标志:

RewriteRule ^/?([^/]+)/?$ /index.php?URL_string=$1 [L,U,QSA]

最新更新