Apache mod_rewrite
我有一个请求URL,如下所示
http://11.22.33.44/somecontext/?acc=":1234554321":
字符串
我正在编写一个Apache RewriteCond
指令,其中我希望提取出现在两个":
之间的数字。因此,从":1234554321":
中,我想提取1234554321
这个数字(数字序列)包含在":
和":
之间,这是唯一一个get参数,请求字符串以acc=
开头,以:
结尾
我尝试用以下所有方法编写指令
RewriteCond %{QUERY_STRING} ^acc=\":([0-9])":$
RewriteCond %{QUERY_STRING} ^acc=\"\:([0-9])\"\:$
RewriteCond %{QUERY_STRING} acc=\"\:([0-9])\"\:
RewriteCond %{QUERY_STRING} ":([0-9])":
RewriteCond %{QUERY_STRING} \"\:([0-9])\"\:
RewriteCond %{QUERY_STRING} ^acc=([^":]+)$
RewriteCond %{QUERY_STRING} ^acc=\"\:(d+)\"\:$
RewriteCond %{QUERY_STRING} ^acc=\"\:(\d+)\"\:$
型
我的RewriteRule
紧接着这个RewriteCond
规则,我希望在我的RewriteRule
中使用反向引用%1
来使用提取的值。
你能建议正确的RewriteCond
指令吗?
1条答案
按热度按时间wkftcu5l1#
因为我是mod_rewrite的新手,我参考了http://forum.modrewrite.com/,发现它对揭开mod_rewrite语法的神秘面纱非常有帮助。
不知何故,它只是下面的字符串为我做的工作
字符串
此条件与URL中的get参数匹配
型
(即以下部分?)由QUERY_STRING变量表示
并按如下方式解析它
抓取的数字在反向引用%1中可用