在我的网站上,我有这样的网址:
http:// www.domain.com/something-like-page-title-4en
使用ISAPI重写器(Ionics Isapi重写过滤器)我有以下规则:
RewriteRule ^/([^.?]+[^.?/])$ /index.php?URL_string=$1 [L,U]
这意味着,上述规则正在将以上网址转换为:
http://www.domain.com/index.php?URL_string=something-like-page-title-4en
如果有人喜欢Facebook上的URL,Facebook会在我的网址中添加其他跟踪参数,它们看起来像是:
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:
示例1(带有查询字符串的网址):
原始网址:
http://www.domain.com/something-like-page-title-4en?param1=value1¶m2=value2
重写网址:
http://www.domain.com/index.php?URL_string=something-like-page-title-4en¶m1=value1¶m2=value2
示例2(没有查询字符串的网址):
原始网址:
http://www.domain.com/something-like-page-title-4en
重写网址:
http://www.domain.com/index.php?URL_string=something-like-page-title-4en
非常感谢。
答案 0 :(得分:2)
使用QSA(查询字符串追加)标志:
RewriteRule ^/?([^/]+)/?$ /index.php?URL_string=$1 [L,U,QSA]