我已经创建了一个apache rewriterule的问题。代码是
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{REQUEST_URI} new$
RewriteRule ^/json/([a-z0-9]+)/([a-z0-9\/]+)$ /json.php?api=$1&qs=$2&refresh=true [NC,L]
RewriteRule ^/json/([a-z0-9]+)/([a-z0-9\/]+)$ /json.php?api=$1&qs=$2 [NC,L]
第二个后引用“qs”将保留“new”参数,但我想从传递给json.php的查询字符串中删除它。显然,我可以在PHP中使用这个服务器端,但我希望尽可能保持整洁,并且可能在RewriteRule上添加更多参数,Id喜欢从qs param中排除。
有人有任何想法吗?
答案 0 :(得分:1)
您应该可以通过修改重写规则中的正则表达式来执行此操作,以便“新”包含在组外:
RewriteRule ^/json/([a-z0-9]+)/([a-z0-9\/]+)new$ /json.php?api=$1&qs=$2&refresh=true [NC,L]