Я пытаюсь объединить некоторые файлы веб-сайта на одном из наших серверов 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
Это невозможно со ссылками
Я делаю это с несколькими установками 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
на этом конкретном устройстве.
Ответ положительный. Приведенный ниже тест, вероятно, слишком запутан для того, что вы хотите сделать, но он может помочь проиллюстрировать, что можно сделать.
$ 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
.