并非所有 .htaccess 文件都被读取

并非所有 .htaccess 文件都被读取

我已经使用 MAMP 和 Ubuntu 服务器多年,但最近尝试在 Mac OS X 10.7.5 上使用内置的 Apache 服务器。我的问题是,我的一些 .htaccess 文件正在被读取,而有些则没有。我有 2 个站点,以下是它们的虚拟主机设置:

<VirtualHost *:80>
    ServerName site1.rob
    DocumentRoot /Users/username/Sites/localSites/site1/public/
    <Directory />
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName site2.rob
     DocumentRoot /Users/username/Documents/Dropbox/site2/public/
     <Directory />
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
     </Directory>
</VirtualHost>

站点 1 正常运行,但站点 2 却不正常运行。因此我进行了测试。在每个 .htaccess 文件中,我都进行了环境检查。

SetEnv HTACCESS on

然后我用这项检查在根目录中创建了一个 PHP 文件。

var_dump($_SERVER['HTACCESS']);

我对站点 1 的输出是:string(2) "on"
我对站点 2 的输出是:null

在这两个网站上,如果我直接访问 /index.php,它们都可以正常工作。有什么线索可以让我在这里进行故障排除吗?文件权限?

答案1

我似乎是无意中发现了答案。我在 /etc/apache2/ 中的不同文件夹中查找,发现了一个名为 users 的目录。其中有一个包含我的用户名的 .conf 文件。其中只有一个将 AllowOverride 设置为 None。这个 conf 文件肯定覆盖了 vhost。我将其设置为 all,现在似乎运行正常。

相关内容