使用 Apache 的 LocationMatch 规则

LocationMatch rules with Apache

我需要修复(使用或不使用正则表达式)以便您可以访问网站上的“/admin.php?+”但不能访问“/SUBSITE/admin.php?+”。有人知道如何解决这个问题吗?

这是一个正则表达式,可能满足您的需要(您最初的问题有点含糊):

^(?!www\.mysite\.com\/.*\/admin\.php).*$

我已经测试了这个正则表达式,它阻止了 "www.mysite.com/*/admin.php",但它允许以下内容:

www.mysite.com/*/guestbook.php
www.mysite.com/*.php

如果你想在正则表达式中添加额外的限制,请告诉我,我可以改进这个答案。

Regex101