Apache LIMIT指令不允许通过局域网看到localhost项目

我想允许通过在.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.2192.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文件。