使用Apache LocationMatch捕获url参数(“?=”或“&=”)

我想不出一个好的标题。 基本上我有基本的身份validation覆盖整个网站从/,但我希望具有某些参数的url被排除在身份validation之外。

例如:如果有一个名为“zzz”的参数,

Protected http://example.com/ http://example.com/?xxx=xxx&yyy=yyy Not Protected http://example.com/?zzz=zzz http://example.com/?xxx=xxx&zzz=zzz 

尝试做类似的事情

 <LocationMatch "/zzz/"> Allow from all Satisfy any </LocationMatch> 

现在利用。 从我所了解的参数似乎没有被LocationMatch看到,这是正确的吗? 还是我做这一切都错了?

LocationMatch绝对不能做到这一点。 您可以使用QUERY_STRING参数从mod_rewrite中获得所需的行为,但我仍然会将其分类为“做错了” – 您不希望遇到一种情况,即始终允许通过未经身份validation的查询时?logout=true ,但是稍后您将添加一个页面,而不是以相同的方式查找logout参数。

我build议改变你的应用程序使用虚假的目录结构,而不是只是查询参数,否则只是让你的应用程序处理所有的身份validation逻辑本身。