正则表达式 – 限制对具有查询参数的URL的访问
发布时间:2020-12-13 22:56:40 所属栏目:百科 来源:网络整理
导读:我需要一个URL只能被一些定义的用户访问.在URL中有一个查询参数,它是鉴别器. 网址可能是这样的: https://my.my.com/my-app/view/myView.xhtml?myQueryParam=allUsers 我在这样的apache配置中的经验是?0和谷歌一点点我可以设置这个: RewriteEngine onRewrit
我需要一个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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |