我想允许使用 Apache 通过 LAN 查看我的本地主机项目LIMIT 指令在.htaccess
我的本地主机项目 URL 是http://192.68.0.123/myproject
以下是.htaccess
造成问题的部分
<Limit POST PUT DELETE>
order deny,allow
deny from all
allow from 192.168.0.0/255
Satisfy any
</Limit>
但它给出了错误
服务器错误!
服务器遇到内部错误,无法完成您的请求。服务器超载或 CGI 脚本出现错误。
错误 500
192.168.0.123 Apache/2.4.10 (Unix) OpenSSL/1.0.1i PHP/5.5.15 mod_perl/2.0.8-dev Perl/v5.16.3
我的错误日志是
[2014 年 12 月 26 日星期五 11:18:36.183915] [core:alert] [pid 4752] [客户端 192.168.0.123:38795] /opt/lampp/htdocs/myproject/.htaccess:指定的网络掩码无效。
我的工作
如果我设置
allow from 192.168.0.123
它仅适用于我的 IP,而不适用于 LAN如果我设置
allow from 192.168.0-5.0-255
那么它工作正常(预期)但只有主页出现,登录后显示禁止访问!403
而建议/
使用这个博客以及许多其他的答案
这是否(/
改为-
)变成了阿帕奇 2.4?
有人可以解释一下这些的区别和正确的有效语法,但我在 Apache 文档中没有找到它。
另一个问题
当添加得到在 LIMIT 选项中
<Limit GET POST PUT DELETE>
order deny,allow
deny from all
allow from 192.168.0.0-255
</Limit>
然后到处都会出错
禁止访问!
您无权访问请求的目录。没有索引文档或目录受读保护。
错误 403 禁止访问!
错误日志是
[2014 年 12 月 26 日星期五 11:34:05.840880] [access_compat:error] [pid 4752] [客户端 192.168.0.123:39012] AH01797:服务器配置拒绝客户端:/opt/lampp/htdocs/myproject/
答案1
我找到了解决方案来自这篇文章
改变路线
允许来自 192.168.0.0-255
到
allow from 192.168.0.2/255.255.0.0
将锁定 Apache 到我的内部 LAN 即地址范围 192.168.0.2到192.168.0.255仅具有子网掩码255.255.0.0
并且适用于得到另外,这是我的最终.htaccess
<Limit GET POST PUT DELETE>
Order deny,allow
Deny from all
Allow from 127.0.0.1 ::1
Allow from 192.168.0.2/255.255.0.0
</Limit>
答案2
满足指令的目的是结合多个要求,即来自你的子网和有效用户。
忽略该选项,您应该会得到更有效的配置。
最好使用 apache 配置文件而不是 .htaccess 文件。