限制对apache 2.4目录的访问,但允许某些文件

限制对apache 2.4目录的访问,但允许某些文件,apache,configuration,apache2.4,Apache,Configuration,Apache2.4,我有一台Apache2.4服务器,它承载着2个应用程序。其中一个可自由访问互联网,另一个仅限于某些IP。因此,在我的/etc/apache2.conf文件中,我有以下内容: <Directory /var/www/> Options FollowSymLinks AllowOverride None Require all granted </Directory> <Directory /var/other/> Options Fol

我有一台Apache2.4服务器,它承载着2个应用程序。其中一个可自由访问互联网,另一个仅限于某些IP。因此,在我的/etc/apache2.conf文件中,我有以下内容:

<Directory /var/www/>
   Options FollowSymLinks
   AllowOverride None
   Require all granted
</Directory>

<Directory /var/other/>
   Options FollowSymLinks
   AllowOverride None
   Require ip [ip]
</Directory>

选项如下符号链接
不允许超限
要求所有授权
选项如下符号链接
不允许超限
需要ip[ip]
这很好用,当我试图访问/var/other提供的任何页面时,我会得到403禁止,除非im在正确的IP上。但是,我现在想让/var/other/目录中的某些页面在没有IP限制的情况下可以自由访问。我尝试过各种组合,比如下面的组合,它有一个嵌套的标记来授予对特定文件的所有访问权限,但似乎不起作用

<Directory /var/www/>
   Options FollowSymLinks
   AllowOverride None
   Require all granted
</Directory>

<Directory /var/other/>
   Options FollowSymLinks
   AllowOverride None
   Require ip [ip]
   <Files "/var/other/page.php">
      Require all granted
   </Files>
</Directory>

选项如下符号链接
不允许超限
要求所有授权
选项如下符号链接
不允许超限
需要ip[ip]
要求所有授权

我试着把标签放在“requireip[ip]”之前以及标签前后,但似乎也不起作用。有人知道这是否可行,我将如何着手实施吗

您不应该在“文件”部分有目录,而应该只有文件名:

   <Files "page.php">