我有以下规则:
#click out to story or provider
RewriteCond %{QUERY_STRING} (?:(?:^|&)target=([^&]*))?(?:(?:^|&)ref=([^&]*))?
RewriteRule ^out/([^\/]+)/(item|source)/(\w{11})$ out.php?cntnt_type=$1&item_or_source=$2&id=$3&target=%1&ref=%2
除此之外,这应该允许并转发两个可选查询字符串参数:target
和ref
。
如果我使用包含两者这些参数的网址对此进行测试,则会同时发送。
但是,如果省略了其中一个参数,则不会发送。
如何修改它以允许任何一个param独立,而不是仅两个?
答案 0 :(得分:1)
你可以使用(没有RewriteCond):
RewriteRule ^out/([^\/]+)/(item|source)/(\w{11})$ out.php?cntnt_type=$1&item_or_source=$2&id=$3 [NC,QSA,L]
[QSA]导致第一个查询字符串被组合而无需测试。