在我的网站上,我有这样的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¶m2=value2
重写URL:
http://www.domain.com/index.php?URL_string=something-like-page-title-4en¶m1=value1¶m2=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]