我读过一个问题的答案,解释“ 如何拒绝目录,但允许一个文件在该dirctory ”。 这个问题是,Apache不会加载DirectoryIndex,不得不手动在url栏上写名字。
我怎样才能告诉Apache加载索引文件,而不需要在URL中指定名称?
我有加载域/子域(虚拟主机)文件的文件中的所有拒绝:
# conf/vhosts/example.com/domain.conf <Directory "/srv/http/example.com"> Require all denied </Directory> IncludeOptional conf/vhosts/example.com/sites/*.dom
以及www网站的虚拟主机文件:
# conf/vhosts/example.com/sites/www.dom <VirtualHost *:80> ServerName www.example.com #Redirect permanent / https://www.example.com/ DocumentRoot "/srv/http/example.com/www" <Directory "/srv/http/example.com/www"> <Files "index.php"> <RequireAll> Require all granted Require not env blockAccess </RequireAll> <IfModule dir_module> DirectoryIndex index.php </IfModule> SetHandler "proxy:unix:/run/php-fpm/www.example.sock|fcgi://localhost/" </Files> <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^index\.php$ - [L] RewriteRule . index.php [L] </IfModule> </Directory> </VirtualHost>
DirectoryIndex需要在<Files>里面吗? 或者我可以把它放在<Files>之前或之后? 它应该在哪里?