2015-09-04 89 views
1

我想确定Apache重写的正确语法,如果查询字符串值不等于某种格式,将访问者发送到不同的页面。Apache重写查询字符串值不等于一个数字

URL 1:http://www.foo-bar.xqx/?video=123(路线单程)
URL 2:http://www.foo-bar.xqx/?video=fgh(路线不同)

该值的格式应为所有数字\ d {0,X}但我迄今为止所尝试的任何东西都似乎正在返回,因为我期待着。最新版本的重写如下:

RewriteCond  %{QUERY_STRING}     ^video=[^\d](\d{0,})$ 
RewriteRule  -        /404.php$1 [NC,L] 

回答

3

使用!否定规则

RewriteCond  %{QUERY_STRING} ^video= 
RewriteCond  %{QUERY_STRING} !^video=\d+$ 
RewriteRule  -    /404.php$1 [NC,L] 

这只会重写有?video=请求,但前提是该=后无编号。

+0

非常感谢你。我不确定我得到了我想要的东西,但它肯定会起作用。 – Joe