我正在尝试整合我们其中一台 CenotOS 服务器上的一些网站文件,我想要创建的设置是这样的,但我不确定这是否真的可行
我们将拥有一组所有网站使用的文件:
/home/commonfiles/
public_html/
library/
每个站点目录看起来是这样的:
/home/site1/bespoke/
css/
images/
每个“站点”都将使用公共文件中的public_html
和文件夹。符号链接显然可以实现这一点。不过,我还想指出绝对链接所来自的站点。我知道可以创建相对符号链接,但绝对符号链接是否可以包含相对符号链接?library
/home/commonfiles/public_html/css
/home/site1/bespoke/css
site1
/home/commonfiles/public_html/
我希望这是有意义的,因为我真的很需要一些建议
编辑
详细地说,这是我想要的基本结构(如果可能的话)
/home/common
/home/common/public
/home/common/library
/home/site1
/home/site1/public -> /home/common/public
/home/site1/library -> /home/common/library
/home/site1/bespoke/
/home/site1/bespoke/css
/home/site1/bespoke/images
/home/site1/public/css -> /home/site1/bespoke/css
/home/site1/public/images -> /home/site1/bespoke/images
/home/site2
/home/site2/public -> /home/common/public
/home/site2/library -> /home/common/library
/home/site2/bespoke/
/home/site2/bespoke/css
/home/site2/bespoke/images
/home/site2/public/css -> /home/site2/bespoke/css
/home/site2/public/images -> /home/site2/bespoke/images
我猜想本质上映射 - 例如 -/home/site1/public/css -> /home/site1/bespoke/css
不一定非要通过链接完成,也许可以通过某种方式在 .htaccess 中完成。但愿您能明白我在这里想要实现的目标。
补充一下,这基本上就是我想要做的(如果它有效的话):
mkdir test
mkdir test/common
mkdir test/common/public
mkdir test/common/library
mkdir test/site1
mkdir test/site2
mkdir test/site1/bespoke
mkdir test/site2/bespoke
mkdir test/site1/bespoke/css
mkdir test/site1/bespoke/images
mkdir test/site2/bespoke/css
mkdir test/site2/bespoke/images
ln -s /home/user/test/common/public test/site1/public
ln -s /home/user/test/common/library test/site1/library
ln -s /home/user/test/common/public test/site2/public
ln -s /home/user/test/common/library test/site2/library
cd test/common/public
ln -s ../bespoke/css css
ln -s ../bespoke/images images
答案1
链接无法实现
答案2
答案是肯定的。下面的测试可能对于您想要做的事情来说太复杂了,但它可能有助于说明可以做什么。
$ mkdir test
$ mkdir test/a
$ mkdir test/a/dir1
$ touch test/a/dir1/file1
$ ln -s /absolute/path/to/test/a test/b
$ ls -l test
drwxr-xr-x 3 user user 4096 2009-11-13 07:45 a
lrwxrwxrwx 1 user user 28 2009-11-13 07:45 b -> /absolute/path/to/test/a
$ ls -l test/b
drwxr-xr-x 3 user user 4096 2009-11-13 07:45 dir1
$ cd b
$ ln -s ../a/dir1 dir2
$ ls -l
drwxr-xr-x 3 user user 4096 2009-11-13 07:45 dir1
drwxr-xr-x 3 user user 4096 2009-11-13 07:45 dir2 -> ../a/dir1
$ ls -l dir1
drwxr-xr-x 3 user user 4096 2009-11-13 07:45 file1
$ ls -lH dir2
drwxr-xr-x 3 user user 4096 2009-11-13 07:45 file1
$ cd ../a
$ ls -l
drwxr-xr-x 3 user user 4096 2009-11-13 07:45 dir1
drwxr-xr-x 3 user user 4096 2009-11-13 07:45 dir2 -> ../a/dir1
最后一条记录很有意思。它本质上是/absolute/path/to/test/a/../a/dir1
。
答案3
我在我的一台网络服务器上安装了多个 Wordpress 来执行此操作。
我设置了'wp-content'目录(其中包含主题和插件)以便在安装之间共享:
/var/<site>/wp-content -> /home/common/wp-content
/var/<site2>/wp-content -> /home/common/wp-content
etc...
可以这样做:
cd /var/<site>
ln -s wp-content /home/common/wp-content
我已将我的/home/common/wp-content
目录的权限设置为rwxrwxrwx
在此特定设备上。