Я пытаюсь добиться следующего результата:
У меня есть несколько доменов, указывающих на один и тот же корневой каталог документов, которые содержат файлы, которые используются во всех доменах (index.php, файлы css и т. Д.):
C: / cms /
Тогда у меня есть несколько доменов:
Оба должны указывать на D: /files/domain1.com/*
Оба должны указывать на D: /files/domain2.com/*
тем не мение
Все должны указывать на C: /cms/adminstyle.css (если файл не найден в каталоге "для домена", он должен вернуться в "общий" каталог)
Возможно ли это с Apache? Я возился с виртуальными хостами / каталогами и псевдонимами, но пока безуспешно.
<VirtualHost *:80>
DocumentRoot c:/cms/
ServerName shared.domain1.com
ServerAlias shared.domain2.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot c:/files/domain1.com/
#Yes, taking liberty with the name of your domain(s) here. Correct it if my assumptions are wrong.
ServerName domain1.com
ServerAlias *.domain1.com
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) http://shared.domain1.com/$1 [L,QSA]
</VirtualHost>
<VirtualHost *:80>
DocumentRoot c:/files/domain2.com/
#Yes, taking liberty with the name of your domain(s) here. Correct it if my assumptions are wrong.
ServerName domain2.com
ServerAlias *.domain2.com
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) http://shared.domain2.com/$1 [L,QSA]
</VirtualHost>
Это должно сработать.
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/adminstyle\.css$
RewriteCond %{DOCUMENT_ROOT}/adminstyle.css !-f
RewriteRule ^(.+) C:/cms/adminstyle.css [L]
RewriteRule ^(.+) - [PT]
Видеть: http://httpd.apache.org/docs/2.2/rewrite/rewrite_guide.html#multipledirs
Вы можете сделать что-то вроде:
NameVirtualHost 1.2.3.4:80
Alias /shared D:/files/shared
<VirtualHost 1.2.3.4:80>
ServerName domain1.com
ServerAlias www.domain1.com *.domain1.com
DocumentRoot D:/files/domain1.com
</VirtualHost>
<VirtualHost 1.2.3.4:80>
ServerName domain2.com
ServerAlias www.domain2.com *.domain2.com
DocumentRoot D:/files/domain2.com
</VirtualHost>
Поместите ваши общие файлы в D: / files / shared и назовите их img src = "/ shared / something"