задача такая:
Есть 3 (+\-) доменов (допустим 111.ru 222.ru 333.ru)
все они привязаны к одному ип.
апачи по умолчанию все домены с этого ип посылает в папку, ну пусть будет /var/www/http/123
вот дереве этой папки
/123
->tmp
->->111
->->->img.jpg
->->222
->->->img.jpg
->->333
->->->img.jpg
надо чтобы когда http://111[dot]ru/img[dot]jpg
открывалась картинка которая в папке /tmp/111
также и для остальных доменов.
названия попок это домены без www и ru (org, com, su)
Что-то я не могу догнать
Как это реализовать???
Благодарю за внимание, и надеюсь на понимание....
1. KoLDuN - 16 Февраля, 2010 - 15:35:01 - перейти к сообщению
2. JustUserR - 16 Февраля, 2010 - 18:30:11 - перейти к сообщению
KoLDuN пишет:
Собственно в Apache основным средством работы с www-сайтами являются виртуальные хосты которые позволяют благодяря службе DNS-клиент хранить несколько различных сайтов на одном IP за счет разных доменных имен То есть для Apache данные виртуальные хосты будут совершенно независимы и иметь самостоятельные каталоги - которые могут располагаться совершенно в разных местах друг от другаЕсть 3 (+\-) доменов (допустим 111.ru 222.ru 333.ru) все они привязаны к одному ип. апачи по умолчанию все домены с этого ип посылает в папку, ну пусть будет /var/www/http/123
Ваша задача состоит лишь в том чтобы создать alias для набора файлов чтобы при доступе к определенному виртуальному хосту эти файлы считывались из виртуальног хоста по умолчанию для этого IP где находяся искомые виртуальные хосты
Самым простым способом будет задание Alias /img/ /var/www/http/123/img внутри конфигурации соответствующих виртуальных хостов в httpd.conf и использование потом URL-адресов типа 111.ru/img/my_img.jpg - при этом данный alias будет действовать только для указанных виртуальных хостов
Также может потребоваться установка прав доступа к папке и самим каритнкам не только в смысле chmod но в смысле установки прав Order allow,deny для соответствующих папок
Если ваша задача состоит в том чтобы строго использовать адреса типа 111.ru/my_img.jpg то надо использовать для всех файлов типа .jpg перенаправление mod_rewrite на картинку в папке alias-а
3. KoLDuN - 16 Февраля, 2010 - 20:30:59 - перейти к сообщению
JustUserR
Я могу переписать движок, чтобы папки были не урезаный домен а целиком...
можно буде сделать так
RewriteRule ^img/(.*)$ /tmp/%{HTTP_HOST}/img/$1
Такой переход могут определить? (допустим поисковики)
у меня для каждого домена отдельный конфиг.
накидайте пожалуйста что мне надо в кофиг к одному из этих доменов положить, чтобы еще одну папку (допустим /tmp/images) добавить.
Благодарю за внимание, и надеюсь на понимание...
Я могу переписать движок, чтобы папки были не урезаный домен а целиком...
можно буде сделать так
RewriteRule ^img/(.*)$ /tmp/%{HTTP_HOST}/img/$1
Такой переход могут определить? (допустим поисковики)
у меня для каждого домена отдельный конфиг.
накидайте пожалуйста что мне надо в кофиг к одному из этих доменов положить, чтобы еще одну папку (допустим /tmp/images) добавить.
Благодарю за внимание, и надеюсь на понимание...
4. JustUserR - 17 Февраля, 2010 - 17:45:11 - перейти к сообщению
KoLDuN пишет:
Собственно говоря вам необходмо подключить набор папок к виртуальному хосту за пределом его базовой папки (Потому что инача помогает обычный mode_rewrite в .htaccess или тот же Alias) В вашем случае вы пишите в конфигурации виртуального хоста типа 123.ru директиву Alias /folder_name/ /full/path/to/folder/ после чего можно обращаться по адресу 123.ru/folder_name и обращения будет происходить к указанной папке - при этом таких Alias-ов может быть сколько угодноУ меня для каждого домена отдельный конфиг. Накидайте пожалуйста что мне надо в кофиг к одному из этих доменов положить, чтобы еще одну папку (допустим /tmp/images) добавить.
Что касается unix-прав досутпа то впринципе если директория читаема откуда-то с другого виртуального хоста то будет читаться и здесь - а сами apache-права доступа то необходимо установить для каждой из папок такую директиву в соответствующем разделе
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- <Directory /full/path/to/folder>
- Options All
- AllowOverride All
- Order allow,deny
- Allow from all
- </Directory>
Если же нужно выполнить операцию Alias-а лишь для части файлов то установие блок Alias внутри соотвтствующего файлового шаблона
KoLDuN пишет:
Пожалуйста! Спрашивайте если что не получилсоь
Благодарю за внимание, и надеюсь на понимание...