.htaccess 订单拒绝,允许不在htaccess中工作

.htaccess 订单拒绝,允许不在htaccess中工作,.htaccess,.htaccess,我在.htaccess中使用了一些规则,比如强制https。但是下面的否定、允许是行不通的 order deny,allow deny from all allow from xxx.xxx.xxx.xxx conf能否否决htaccess?我应该注意什么?是否存在可能导致此问题的模块?htaccess本身可以工作,它只是拒绝、允许部分 这个命令的原因是,我可以在没有人看到的情况下开发非实时站点 提前感谢。您应该查看conf文件中的子句。他们基本上授权.htaccess覆盖.conf文件中的值

我在.htaccess中使用了一些规则,比如强制https。但是下面的否定、允许是行不通的

order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
conf能否否决htaccess?我应该注意什么?是否存在可能导致此问题的模块?htaccess本身可以工作,它只是拒绝、允许部分

这个命令的原因是,我可以在没有人看到的情况下开发非实时站点


提前感谢。

您应该查看conf文件中的子句。他们基本上授权.htaccess覆盖.conf文件中的值。

我解决了这个问题,将坏的bot块移动到每个域的vhost文件中,现在使用vhost文件限制访问。不能在全球范围内为机器人做这件事有点痛苦,所以如果其他人有更好的答案,我们欢迎:)

这种情况经常发生在我身上,而且总是因为我没有使用我认为我正在使用的IP地址。这听起来很傻,但却很容易做到,因为互联网上的大多数计算机至少可以用两个IP地址来表示:一个是局域网专用的,另一个是通过启用NAT的路由器暴露在互联网上的

例如,我正在建立一个国家IP阻止白名单。我想,由于我和我的服务器在同一个局域网中,所以我不会从白名单开始,这将是一个很好的测试机会。然而,无论我做什么,我似乎都不能用一个合适的白名单来否定自己。我忘记了我是通过服务器的外部IP访问服务器的:我要去
home.example.com
,我把它映射到路由器的互联网IP地址。我的路由器知道我打算回网络,所以它是无缝的——直到我的IP地址变得重要

当然,我可以通过一些黑客的方式绕过这个问题,而不用去局域网IP。Apache似乎有缺陷,因为我可以从语句中取出一个
Allow,它就可以工作了


关键是:如果它不起作用,请在Apache的眼中检查您的IP地址。

实际的问题是您定义Deny/Allow或Allow/Deny的顺序是什么?下面的文件按预期对我有效

您的
.htaccess
文件应如下所示:

Order Deny,Allow
Allow from 12.99.60.128
Allow from 79.18.77.63
Allow from 181.67.136.49
Deny from All

别忘了:如果它对你也有效,那就竖起大拇指。

有些奇怪的事情正在发生。我在httpd.conf中的/var/www/vhosts中添加了一个AllowOverride all,但它不起作用,当我向AllowOverride all中添加/时,我最终使它起作用。但很明显,出于安全考虑,我不想这么做。所以我把限制改成了一个测试,但这不起作用,所以我改回了所有,但它仍然不起作用,尽管我只是在工作-:这很奇怪。我已经多次重新加载、重新启动、停止和启动apache。哦,我对每一次尝试都有深刻的了解,你可能有几个.conf文件。通常每个虚拟主机都有一个。在每个虚拟主机中,您可以设置AllowOverride选项。例如,我应该能够设置:AllowOverride All,这应该允许覆盖,尽管AllowOverride for/None设置为None。对吗?我毫无乐趣地将其添加到主httpd.conf和vhosts文件中。我已经阅读了vhosts文件,没有发现任何冲突。事实上,在vhosts文件中,除了我刚才添加的选项之外,没有其他AllowOverride选项。进行了进一步挖掘,当我删除以下选项时:order allow,deny deny from env=bad_bot allow from My.htaccess文件中的所有文件都重新开始工作。我确实尝试将其移动到目录/而不是位置/中,但是没有获得禁止的用户获取Apache测试页面,阻止停止工作。但进步就是进步!有谁能建议一种更好的方法来构造我的配置的这一部分吗?我解决了这个问题,我将坏的bot块移动到每个域的vhost文件中,现在使用vhost文件来限制访问。无法在全球范围内为机器人程序执行此操作有点痛苦,因此,如果其他人有更好的答案,我们将非常欢迎:)(还不能回答我自己的问题)您能否分享您在vhost文件中所做的更改不幸的是,这不是问题的解决方案,只是一个解决方法。我不再有这个服务器,也没有问题,因为我恐怕无法向您提供任何信息。