.htaccess 存在特定查询字符串时允许访问,否则拒绝

.htaccess 存在特定查询字符串时允许访问,否则拒绝,.htaccess,mod-rewrite,apache2,.htaccess,Mod Rewrite,Apache2,当查询字符串中存在s=stick\u path或s=stick\u relative时,我希望允许访问我的站点,否则拒绝访问。e、 g当www.domain.com/?s=stick\u path时允许访问,但当www.domain.com/?s=ck\u relative或www.domain.com/?s=action\u path时拒绝访问 我尝试了一些简单的例子,比如www.domain.com/?s=stick\u path,但它似乎不起作用 RewriteCond %{QUE

当查询字符串中存在
s=stick\u path
s=stick\u relative
时,我希望允许访问我的站点,否则拒绝访问。e、 g当www.domain.com/?s=stick\u path时允许访问,但当www.domain.com/?s=ck\u relative或www.domain.com/?s=action\u path时拒绝访问

我尝试了一些简单的例子,比如www.domain.com/?s=stick\u path,但它似乎不起作用

    RewriteCond %{QUERY_STRING} !^s=stick_path$
    RewriteRule ^.* - [F,L]
我认为如果s参数出现两次,比如www.domain.com/?s=stick\u path&s=action\u path,就可以欺骗.htaccess规则

更新:
RewriteEngine ON
在.htaccess中丢失。

当我尝试转到
http://localhost/?s=stick_path
,但如果您想在任何地方检查查询字符串,请尝试:

RewriteCond %{QUERY_STRING} !(^|&)s=stick_path(&|$) 
RewriteCond %{QUERY_STRING} !(^|&)s=stick_relative(&|$)
RewriteRule ^.* - [F,L]

如果
s=stick\u path
s=stick\u relative
位于查询字符串中的任何位置,则此方法有效。

我不想在字符串中找到任何位置。它应该是完全匹配的。@新手,如果查询字符串只能是
s=stick\u path
,那么您已经做过的就是这样。