指定要查找.htaccess文件的直接存储器

我读过所有目录启用.htaccess导致性能开销,因为所有子文件夹也扫描.htaccess文件。

我只想将.htaccess文件读入:/var/www/xgclan.com/public_html和/var/www/xgclan.com/public_html/forum

我在我的apache2.conf中configuration了以下内容(对于/var/www/xgclan.com/public_html)

<Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory> <Directory /usr/share> AllowOverride None Require all granted </Directory> <Directory /var/www/> Options FollowSymLinks AllowOverride None Require all granted </Directory> <Directory /var/www/xgclan.com/public_html> Options FollowSymLinks AllowOverride All Require all granted </Directory> 

但是,这似乎并没有工作..子目录也读取.htaccess文件

我应该提到xgclan.com是一个虚拟主机。 我究竟做错了什么?

我能够防止子目录检查.htaccess文件:

 <Directory /var/www/xgclan.com/public_html/> Options FollowSymLinks AllowOverride None Require all granted </Directory> 

但是这也阻止了/var/www/xgclan.com/public_html/forum中的.htaccess文件所以我试着添加下面的规则来允许这个特定的目录:

 <Directory /var/www/xgclan.com/public_html/forum> Options FollowSymLinks AllowOverride All Require all granted </Directory> 

但是这似乎不起作用。

你有尝试添加虚拟主机声明添加目录部分?

访问浏览器上的主机时,你的error_log输出是什么? 你有任何错误,如在Apache文档中所述 ?

好的,如果你想让apache扫描整个虚拟主机目录中的两个特定的文件夹,你应该指定哪些是你想禁止和允许的,比如:

 <Directory /var/www/xgclan.com/public_html> Options FollowSymLinks AllowOverride All Require all granted </Directory> <Directory /var/www/xgclan.com/public_html/*/> Options FollowSymLinks AllowOverride None Require all granted </Directory> <Directory /var/www/xgclan.com/public_html/forum> Options FollowSymLinks AllowOverride All Require all granted </Directory>