文档根目录更改时,重写规则停止工作

我在不同的位置有两个文件夹副本。 它们包含完全相同的.htaccess文件。 这两个.htaccess文件具有相同的权限和所有者。

/home/sites/site/public_html/ /var/www/html/site/ 

我有一个VirtualHost的DocumentRoot用来指向/home/sites但是我把它改成了/var/www并且重新启动了Apache。

现在我的htaccess规则不再有效。 例如, /story/id应该重写为/index.php?id=$id 。 如果我在浏览器中访问/index.php?id=$id ,页面会自动加载,但如果我去/story/id ,则会出现404错误。

如果我将DocumentRoot更改回旧的根,链接将再次开始工作。

任何想法可能会导致这一点?

解决scheme是在主要的httpd.conf文件中。 对于/var/www/html ,AllowOverride被设置为none,之前没有关系,因为web文件夹位于/home/ 。 一旦我们将其设置为All ,重写规则就再次开始工作。