使用ISAPI REWRITE v3
我需要替换URL中的字符串。旧字符串是'p = type1_',新字符串是'p = type2_'。所以
http://www.somesite.com/cgi-bin/script.pl?t=something&p=type1_abcde
变为
http://www.somesite.com/cgi-bin/script.pl?t=something&p=type2_abcde
我认为这应该有效:
RewriteRule ^(.*)p=type1_(.*)$ $1p=type2_$2 [NC]
但是,一旦原始字符串包含'?',我就会在ISAPI_REWRITE RegexTest应用程序中得到'Pattern Not Matched' - 实际上,它总是如此。
如何进行简单的搜索和替换?
答案 0 :(得分:1)
您需要使用RewriteCond %{QUERY_STRING}
来搜索查询字符串。
尝试这样的事情:
RewriteCond %{QUERY_STRING} t=(.*)&p=type1_(.*)
RewriteRule ^cgi-bin/script.pl$ cgi-bin/script.pl?t=$1&p=type2_$2 [NC]