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

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

我在不同的位置拥有同一个文件夹的两个副本。它们包含完全相同的 .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 改回旧根目录,链接将再次开始工作。

对于可能造成这种情况的原因您有什么想法吗?

答案1

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

相关内容