正则表达式 – 限制对具有查询参数的URL的访问

我需要一个URL只能被一些定义的用户访问.在URL中有一个查询参数,它是鉴别器.

网址可能是这样的:

https://my.my.com/my-app/view/myView.xhtml?myQueryParam=allUsers

我在这样的apache配置中的经验是〜0和谷歌一点点我可以设置这个:

RewriteEngine on
RewriteCond %{QUERY_STRING} myQueryParam=allUsers
RewriteRule "/my-app/view/myView[.]xhtml.*" - [E=no_auth_required:1]

<LocationMatch "/my-app/view/myView[.]xhtml.*">

               Require uniqueID user1ID user2ID

</LocationMatch>

在xhtml之间?可能会增加字符串,因此.*.

这是有效的,但问题是它也拒绝前进的访问.到链接

https://my.my.com/my-app/view/myView.xhtml?myQueryParam=somethingElse

看起来它并不打扰查询参数的值…

我想念什么?

编辑:我忘了说我使用Apache 2.2.

提供的解决方案适用于Apache v2.4

通过位置*指令中的If指令检查env变量值:

RewriteCond %{QUERY_STRING} myQueryParam=allUsers
RewriteRule . - [E=no_auth_required:1]

<Location "/my-app/view/myView.xhtml">
    <If "reqenv('no_auth_required') == 1">
        Require uniqueID user1ID user2ID
    </If>
</Location>

相关文章

jquery.validate使用攻略(表单校验) 目录 jquery.validate...
/\s+/g和/\s/g的区别 正则表达式/\s+/g...
自整理几个jquery.Validate验证正则: 1. 只能输入数字和字母...
this.optional(element)的用法 this.optional(element)是jqu...
jQuery.validate 表单动态验证 实际上jQuery.validate提供了...
自定义验证之这能输入数字(包括小数 负数 ) &lt;script ...