前言:我知道这有点安全漏洞,但我想要一个htaccess解决方案
我有一个半私有wiki(php,mysql,mediawiki),我只想允许特定范围的IP,除非文章标题为 title =公开(允许所有) public_articleName #### 我相信 ^ title = public_articleName([0-9] {4})$ ?
我还在顶级htaccess中使用重写规则,以便美化网址(www.site.com/wiki/article
实际上是www.site.com/wiki/index.php?title=article
)在我的情况下我希望www.site.com/wiki/
被(部分)禁止,但是所有人都可以看到www.site.com/wiki/public_articleName2345
有什么想法吗?我知道您可以访问%{QUERY_STRING},但我不知道基于该匹配强制403(IPs xxx.xxx.xx.xxx除外)
感谢您的输入
编辑:澄清
答案 0 :(得分:1)
您可以在RewriteRules上使用[forbidden]
标志:
RewriteRule index.php?title=disallow forbid.html [F]
您可以将其与RewriteCond
组合以匹配IP,或阻止此规则应用于允许的网页。
RewriteCond ${REMOTE_ADDR} !78.22.131.219
RewriteRule index.php?title=disallow forbid.html [F]
然而,在wiki软件中以编程方式实现这一点会更容易。