我有以下文件结构:
/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]
如何将指令应用于所有包含的文件?
答案 0 :(得分:0)
<Directory>
和</Directory>
用于包含一组指令,这些指令仅适用于指定目录,该目录的子目录以及相应目录中的文件。