您应该首先了解目标symlink is a pathname。有可能absolute or relative到包含符号链接的目录。
假设你有foo.conf
in /可用站点:
cd sites-enabled
sudo ln -s ../sites-available/foo.conf .
ls -l
现在,您将有一个符号链接/启用站点 called foo.conf
有一个目标../sites-available/foo.conf.
需要明确的是,Apache 的正常配置是为了潜在站点的存在/可用站点以及启用的站点所在的符号链接/启用站点,指向可用站点中的目标。
根据您描述设置的方式,情况似乎并非如此;但这不是您的主要问题。
如果你想要一个符号链接ALWAYS指向同一个文件,无论符号链接位于何处,目标都应该是完整路径; IE:
ln -s /etc/apache2/sites-available/foo.conf mysimlink-whatever.conf
这是我的输出(第一行)ls -l /etc/apache2/sites-enabled
:
lrwxrwxrwx 1 root root 26 Jun 24 21:06 000-default -> ../sites-available/default
查看符号链接的目标如何相对于包含符号链接的目录(它以“..”开头,表示向上一个目录)。
硬链接完全不同,因为硬链接的目标不是目录条目,而是文件系统 Inode。