Linux
公共文件的符號連結
我正在嘗試在我們的一台 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
連結是不可能的
答案是肯定的。下面的測試對於您想要做的事情可能過於糾結,但它可能有助於說明可以做什麼。
$ 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
.