Открывая поддомен, чтоб картинки без палева грузились с основного домена?

FFFFx029A
На сайте с 01.09.2007
Offline
142
1429

Все доброго времени суток, интересует вопрос. Есть многоязычный сайт где картинки иногда приходится дублировать на каждый поддомен. Как сделать чтобы при обращении к subdomain.domain.ru/img/adv/ загружались картинки из domain.ru/img/adv/ ?

Сами поддомены у меня расположены в директории домена т.е /site/www/damain.ru/subdomain/ ну и картинки соответственно в /site/www/damain.ru/subdomain/img/adv/ и в идеале хотелосьбы для поддоменов чтоб грузились картинки с основного домена /site/www/damain.ru/img/adv/

Просто http редирект на основной домен и папку не совсем подходит, т.е чтоб втупую перекидывало на основной домен и на нужную картинку (тогда можно сразу пути писать на основной домен). Может можно сделать так чтоб поисковик видел subdomain.domain.ru/img/adv/image.jpg а оно уже внутри как-то выдавало то что нужно? (желательно не php скриптом и командой аля file_get_contents()) Собственно интересует наколдовать средствами .htaccess и mod_rewrite или ещё мож какие-то варианты есть?

Думаю тема будет интересна многим.:popcorn:

Спасибо что дочитали до конца и собственно зараннее спасибо за ответ)

http://www.youtube.com/watch?v=Gyl4E4EcPdc (http://www.youtube.com/watch?v=Gyl4E4EcPdc) - партнёрка от Мавроди и МММ))) http://miniwm.ru/soft.php?read=917 (http://miniwm.ru/soft.php?read=917) CMS MiniWM v2.8 - 49.99$
gormarket
На сайте с 29.12.2010
Offline
47
#1

Вполне реально средствами .htaccess и mod_rewrite сделать подобное (если конечно статика отдается аппачем)

Примерно такая группа условий для реврайта

1. Проверяется условие что не было реврайтов

2. Проверяется условие что запрашивается файл с поддомена

3. Проверяется условие что в папке_с_файлами основного домена есть файл по маске "имя.расширение" (из RewriteRule $2.$3)

4. При соблюдении условий отдаем файл "имя.расширение" из папки_с_файлами основного домена, то есть отбрасывается поддомен

RewriteCond %{ENV:REDIRECT_STATUS} ^$

RewriteCond %{HTTP_HOST} ^.+\.основной_домен\.ру$

RewriteCond %{DOCUMENT_ROOT}/папка_с_файлами/$2.$3 -f

RewriteRule (^|/)([^/]+)\.(jpg|gif|png)$ папка_с_файлами/$2.$3 [L]

Возможно что-то "по месту" придется еще подстраивать, пример написан без проверки.

Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
FFFFx029A
На сайте с 01.09.2007
Offline
142
#2
gormarket:
Вполне реально средствами .htaccess и mod_rewrite сделать подобное (если конечно статика отдается аппачем)

Примерно такая группа условий для реврайта

1. Проверяется условие что не было реврайтов
2. Проверяется условие что запрашивается файл с поддомена
3. Проверяется условие что в папке_с_файлами основного домена есть файл по маске "имя.расширение" (из RewriteRule $2.$3)
4. При соблюдении условий отдаем файл "имя.расширение" из папки_с_файлами основного домена, то есть отбрасывается поддомен

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} ^.+\.основной_домен\.ру$
RewriteCond %{DOCUMENT_ROOT}/папка_с_файлами/$2.$3 -f
RewriteRule (^|/)([^/]+)\.(jpg|gif|png)$ папка_с_файлами/$2.$3 [L]

Возможно что-то "по месту" придется еще подстраивать, пример написан без проверки.

Спасибо, но извеняюсь, вспомнил что стоит ngnix и наверное надо что-то похожее только под ngnix.conf (втавил в .htaccess и какбэ чуда не произошло)

AboutSEO
На сайте с 18.01.2007
Offline
154
#3

настрой алиасы в апачах для субдоменов на папку с картинками.

FFFFx029A
На сайте с 01.09.2007
Offline
142
#4
AboutSEO:
настрой алиасы в апачах для субдоменов на папку с картинками.

А можно поподробнее? А то для меня алиасы эт дополнения в виде www только, ну типа псевдонимы в ISP Manager, да и у меня сейчас настроено на автоподдомены (не вникался как они автоматом делаются, но эт удобно)

AboutSEO
На сайте с 18.01.2007
Offline
154
#5
FFFFx029A:
А можно поподробнее? А то для меня алиасы эт дополнения в виде www только, ну типа псевдонимы в ISP Manager, да и у меня сейчас настроено на автоподдомены (не вникался как они автоматом делаются, но эт удобно)

подробно тут http://httpd.apache.org/docs/2.2/mod/mod_alias.html

кратко:

добавляете альяс для субдомена

Alias /img/adv /site/www/damain.ru/img/adv

у меня это выглядит примерно так


<VirtualHost 78.х.х.х>
DocumentRoot "/usr/local/www/ru/ххх.хх"
ServerName ххх.хх
ServerAlias www.ххх.хх
ErrorLog "/usr/local/www/error/ххх.хх.log"
CustomLog "/usr/local/www/logs/ххх.хх.log" "combined"
Alias /tor/ "/usr/local/share/transmission/web/"
<Directory "/usr/local/www/ru/ххх.хх">
AllowOverride All
Options FollowSymLinks -Indexes +Includes
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

если уж савсем на пальцах, то

Alias [(папка или файл который вы хотите у себя видеть на домене/субдомене)] [(полный путь к файлу или папке откуда вы хотите это все выводить)]

в моем случае при наборе ххх.хх/tor/ будет выводиться содержимое /usr/local/share/transmission/web , причем физически папка /tor/ на сервере отсутствует.

FFFFx029A
На сайте с 01.09.2007
Offline
142
#6

AboutSEO, Самое оно, огромное спасибо!!!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий