Apache:在符号链接上设置DocumentRoot,指向实际文件?

时间:2017-01-05 17:39:21

标签: apache unix symlink

我正在构建一个部署脚本,但Apache处理我的符号链接的方式似乎有些不对。

我有一个包含以下内容的文件夹:

  • foo_svn:文件夹(我当前的网站)
  • foo_tmp:文件夹(副本)
  • web:符号链接(指向foo_svn)

我的DocumentRoot设置在web

在svnupdating foo_svn之前,我备份foo_tmp中的内容并替换符号链接,使其指向foo_tmp

然后我更新foo_svn:让我们说index.php已被修改。该网站应该是相同的,因为它现在指向foo_tmp并且该文件夹没有更改。然而,显示的页面是新页面,就像Apache直接查找foo_svn/index.php而不是web/index.php一样。

在vhost配置文件中,DocumentRoot仍然是.../web,与<Directory>中的相同。符号链接web仍然指向foo_tmp,而foo_tmp/index.php仍然是旧版本。

编辑:深入挖掘,看起来某种缓存有些奇怪。重新加载我的页面两次,有时它首先指向foo_tmp,然后指向foo_svn,然后指向foo_tmp(然后它稳定)。有时页面只需要一些时间来接受新版本(甚至硬盘重新加载)。有时它会在foo_svn 过早地显示新页面,因为符号链接仍然指向foo_tmp中的先前版本。我对此疯狂,就像Apache有一种“符号链接缓存”,我不知道。

0 个答案:

没有答案
相关问题