如何选择目录和所有子目录

时间:2013-12-31 13:39:45

标签: linux apache ubuntu

我有以下文件结构:

/var/www
/var/www/subdirectory

我想用一个适用于var/www及其所有子目录和文件的指令配置我的apache2.conf。

<Directory "var/www">仅适用于父目录。

Direcotry "var/www/*/">仅适用于子目录。

澄清

我正在使用https://github.com/h5bp/server-configs-apache来尝试配置apache2.conf。因此,我希望所有更改都适用于所提供的每个公共文件(root目录和所有其他文件)。

当我阅读https://github.com/h5bp/server-configs-apache时,我理解var/www应该适用于所有子目录,但Options -Indexes规则显然不起作用(子目录索引可见)。当我尝试var/www/*索引不再显示时,其他规则不会应用于根目录。

我可以隔离这个问题:

<Directory "var/www/*">

    <IfModule mod_autoindex.c>
        Options -Indexes
    </IfModule>

</Directory>

禁用子目录列表,而:

<Directory "var/www">

    <IfModule mod_autoindex.c>
        Options -Indexes
    </IfModule>

</Directory>

没有。

**更新2 **

作为参考,我有以下URL重写:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

如何将指令应用于所有包含的文件?

1 个答案:

答案 0 :(得分:0)

根据文件<Directory> Directive

  

<Directory></Directory>用于包含一组指令,这些指令仅适用于指定目录,该目录的子目录以及相应目录中的文件。