我在不同的位置有两个文件夹副本。 它们包含完全相同的.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
,重写规则就再次开始工作。