我想允许通过在.htaccess使用Apache LIMIT指令在局域网上看到我的localhost项目
我的localhost项目的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
我的error_log是
[Fri Dec 26 11:18:36.183915 2014] [core:alert] [pid 4752] [client 192.168.0.123:38795] /opt/lampp/htdocs/myproject/.htaccess:指定的networking掩码无效。
我的工作
如果我allow from 192.168.0.123设置allow from 192.168.0.123它只适用于我的IP不通过局域网
如果我allow from 192.168.0-5.0-255设置allow from 192.168.0-5.0-255那么它工作正常 (预期),但只有主页来临,login后,它给予访问禁止!403
而build议使用/在这个博客和许多其他答案
这( /到- )更改为Apache 2.4 ?
有人好心解释这些差异和正确的有效语法,我没有在Apache文档中find它。
在LIMIT选项中添加GET时
<Limit GET POST PUT DELETE> order deny,allow deny from all allow from 192.168.0.0-255 </Limit>
那么到处都是错误的
访问被禁止!
您无权访问请求的目录。 没有索引文件或目录是读保护的。
错误403访问被禁止!
errro_log是
[客户端192.168.0.123:39012] AH01797:客户端被服务器configuration拒绝:/ opt / lampp / htdocs / myproject /
我从这篇文章中得到了解决scheme
改行
允许从192.168.0.0-255 至
allow from 192.168.0.2/255.255.0.0
会将Apachelocking到我的内部LAN,即地址范围192.168.0.2到192.168.0.255 ,子网掩码只有255.255.0.0
它也适用于GET ,这里是我最后的.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>
满足指令旨在结合多个要求,即从你的子网和有效用户。
保留这个选项,你应该有一个更有效的configuration。
另外最好使用你的apacheconfiguration文件而不是.htaccess文件。