Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отображение файлов домена из его поддомена, http://dom/dir/ => http://sub.dom/dir/ 
:(
    Опции темы
Гриша
Дата 23.1.2007, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Здравствуйте.

Например есть сайт _http://domain/, имеющий следующую файловую структуру:
/catalog/
/cart/
/text/

Есть задача, вынести некоторые разделы сайта в поддомен,
например при наборе _http://sub.domain/catalog/ на самом деле загружалиьс данные из _http://domain/catalog/
Поддомен реально существующий.

Все страницы сайта имеют некоторые общие подключаемые скрипты и таблицы стилей,
поэтому например при простом переносе /catalog/ из _http://domain/ в _http://sub.domain/,
возникают проблемы с подключением общих скриптов и таблиц стилей содержащихся в _http://domain/

Подскажите пожалуйста варианты решения, при котром требуемые файлы и директории домена, были доступны из поддомена?

C mod_rewrite ничего пока не выходит.
Вариантов пробовал много (один из них):

Настройка .htaccess в http://domain/
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{HTTP_HOST} ^sub\.domain$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^sub\.domain(.*) /$1$2

Пример отсюда: http://www.4webmaster.ru/articles/usability/14.html


M
Mal Hack
при чем тут PHP???


Это сообщение отредактировал(а) Mal Hack - 23.1.2007, 19:59
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Mal Hack
Дата 23.1.2007, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



PM ICQ   Вверх
AztEK
Дата 23.1.2007, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: 1
Всего: 18



mod_rewrite здесь не товарищ. Эта проблема обсуждалась в разделе \"Администрирование Web серверов и Web служб\", ищите


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
mishaSL
Дата 23.1.2007, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 2
Всего: 54



Если проблема только в таблицах стилей и include-ах то прописываешь на <link> полный адрес к домену с таблицами стилей. А там где ltkftim include пишешь обсолютный адрес (что-нибудь вроде /home/user/...)

Или у тебя не получается сделать чтобы поддомен обращался к другой папке?


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
Гриша
  Дата 23.1.2007, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Поповоду выбора раздела форума, это я спонтанно, был в поиске, нашел там тему схожую, нажал на раздел в котором она размещена и создал в нем эту тему.

Спасибо за ответы.

mishaSL, если я просто делаю перенос папки /catalog/ в поддомен (или просто ее include), у меня получается сделать include() все необходимых файлов,
остается проблема со стилями и картинками, получается что мне необходимо создавать какую-то переменную содержащую URL путь (http://domain/) и подставлять ее во все крипты - вот из-за все этого я задумался о Mod-rewrite, чтобы все это упростить



Mal Hack,
вот пробую пример по первой ссылке:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?.*\.domain$
RewriteRule ^(.*) %{HTTP_HOST}$1

Набираю _http://sub.domain/ (- существующий поддомен и папка sub существует в корне)
Ошибка:
Bad Request
Your browser sent a request that this server could not understand.
Invalid URI in request GET / HTTP/1.1

Набираю _http://sub1.domain/ (sub1 существующая папка в корне _http://domain/sub1/),
результата никакого



По второй ссылке пробую 
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sub.\domain [NC]
RewriteRule ^(.*)    http://domain [P,L]



Третий примерRewriteEngine on   
Options +FollowSymlinks   
RewriteBase / 
RewriteCond %{HTTP_HOST} ^subdomen\.domen\.ru$ 
RewriteCond %{REQUEST_URI} !index.php 
RewriteRule ^(.*)$ /index.php?id=%{HTTP_HOST}&$1 [L] 

Он работает так,
набираю _http://sub.domain/, загружается index.php этого сабдомена,
где $_GET['id'] = 'sub.domain'; и  $_GET['sub'] = '';

Попробовал заменить последнюю строчку на 
RewriteRule ^(.*)$ http://domain/ [L]
Происходит простой редирект с домена на поддомен


Подскажите пожалуйста возможно ли реализовать, то что я спрашиваю или нет?
Просто переносить например папку /catalog/ из http://domain/ в http://sub.domain/,
получаетется что изображения и стили тоже грузятся из http://sub.domain/, а надо чтобы из http://domain/,
т.е. получается что остается вариант при котором мне вручную нужно будет прописывать путь для изображений и css,
а это уже какой-то каламбур.




Это сообщение отредактировал(а) Гриша - 23.1.2007, 20:43
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
mishaSL
Дата 23.1.2007, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 2
Всего: 54



Конечно можешь прописать тег <base>, но тогда придется поменять все ссылки на абсолютные. 

Можно дальше поиграться с mod-rewrite? попробуй так:
Код

RewriteEngine On

Options +FollowSymLinks +SymLinksIfOwnerMatch

RewriteCond   %{HTTP_HOST}  ^(www.)?(.*)\.domen$
RewriteCond   %{DOCUMENT_ROOT}/~subdomen/%2 -d
RewriteCond %{REQUEST_URI} !^/~subdomen(.*)
RewriteCond %{REQUEST_URI} !^/images(.*)
RewriteCond %{REQUEST_URI} !^/styles(.*)
RewriteRule   (.*) ~subdomen/%2/$1 [L,QSA]



В этом случае необходимо чтобы все папки с поддоменами лежали в директории ~subdomen и назывались по имени поддомена (к примеру subsite1.site1.ru его директория располагается в /~subdomen/subsite1)
Картинки в папке images, а стили в папке styles.




--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
Гриша
Дата 23.1.2007, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



mishaSL, спасибо за ответ.

Кладу в .htaccess в http://domain/

Я непонял почему есть необходимость именно в папке ~subdomen,
я попробовал так:
Содержимое http://sub.domain/ находится в http://domain/sub/

RewriteEngine On

Options +FollowSymLinks +SymLinksIfOwnerMatch

RewriteCond   %{HTTP_HOST}  ^(www.)?(.*)\.domen$
RewriteCond   %{DOCUMENT_ROOT}/%2 -d
RewriteCond %{REQUEST_URI} !^/(.*)
RewriteCond %{REQUEST_URI} !^/images(.*)
RewriteCond %{REQUEST_URI} !^/styles(.*)
RewriteRule   (.*) %2/$1 [L,QSA]

Непроисходит вообще ничего.
Столько примеров перебробовал, но ничего не работает.

Это сообщение отредактировал(а) Гриша - 23.1.2007, 21:54
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Mal Hack
Дата 23.1.2007, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



Гриша, ознакомься с теми ссылками, что я привел. В одной из тем как раз делается то, что тебе нужно.
PM ICQ   Вверх
Гриша
Дата 23.1.2007, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Mal Hack, попробую еще раз с ними разобраться, но вообще те примеры которые там описаны как работающие у меня не работают, я описал все варианты, ну буду разбираться еще.

Добавлено @ 00:05 
Mal Hack, закончил попробовать все из приведенных ссылок, результата никакого.
Если вы знает где в ссылках приведен подходящий пример под мои услговия, если вы можете показать мне где именно этот пример, если этого не запрещают правила форума, пожалуйста покажите.
Возможно я туплю и в правильном примере что-то делаю не так.

Вот беру последнюю (3) ссылку, делаю так (происходит ненужный редирект):
Код

RewriteEngine on   
Options +FollowSymlinks   
RewriteBase / 
RewriteCond %{HTTP_HOST} ^sub\.domain$ 
RewriteCond %{REQUEST_URI} !index.php 
#RewriteRule ^(.*)$ /index.php?id=%{HTTP_HOST}&$1 [L]
RewriteRule ^(.*)$ http://domain/ [L]



--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Mal Hack
Дата 24.1.2007, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



PM ICQ   Вверх
Гриша
Дата 24.1.2007, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Mal Hack, спасибо за ответ.

Вот пример:
Код

RewriteEngine On

Options +FollowSymLinks +SymLinksIfOwnerMatch

RewriteCond   %{HTTP_HOST}  ^(www.)?(.*)\.domen\.ru$
RewriteCond   %{DOCUMENT_ROOT}/~subdomen/%2 -d
RewriteCond %{REQUEST_URI} !^/~subdomen(.*)
RewriteRule   (.*) ~subdomen/%2/$1 [L,QSA]


Есть домен http://domain/ - DOCUMENT_ROOT = e:/home/domain/www/
Есть поддомен http://sub.domain/ - DOCUMENT_ROOT = e:/home/domain/www/sub/

Задача: при запросе http://sub.domain/catalog/ загржать данные из http://domain/catalog/ (DOCUMENT_ROOT = e:/home/domain/www/catalog/ - это просто каталог, НЕ каталог поддомена)


Используя приведенный выше пример, пытаюсь хотябы сделать так, чтобы при запросе http://sub.domain/ загружалисб данные из http://domain/:
Код

RewriteEngine On

Options +FollowSymLinks +SymLinksIfOwnerMatch

RewriteCond   %{HTTP_HOST}  ^sub\.domain$
RewriteCond   %{DOCUMENT_ROOT}/magazin -d
RewriteCond %{REQUEST_URI} !^(.*)
RewriteRule   (.*) /$1 [L,QSA]


Повидимому что-то делаю не так, прошу помощи!

--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Mal Hack
Дата 24.1.2007, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



Гриша, ты пытаешься привязаться к основному домену, а сделать этого нельзя. Ты должен к папкам привязываться!!!

RewriteCond   %{HTTP_HOST}  sub\.domain
RewriteRule ^.*$ /sub/index.php

При этом, домен и сабдомен должны быть настроены в Апаче на ОДНУ папку.
PM ICQ   Вверх
Гриша
Дата 24.1.2007, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Mal Hack, спасибо за быстрый ответ.

У меня и так пробле с mow_rewrite,
но щас я уже очумеваю от всего этого, я и логи просматриваю, и документациюю перечитываю и примеры разбираю, 
ну никак я непойму что ни так.

Беру просто ваш пример, для домена и поддомена делаю один DOCUMENT_ROOT = e:/home/domain/www/

набираю http://sub.domain/ открывается http://domain/,
а я ожидал что откроется /sub/index.php - индексный файл для поддомена.

Я в полном ступоре, я просто вообще непойму что делать, возможно это или нет


Это сообщение отредактировал(а) Гриша - 24.1.2007, 01:43
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Mal Hack
Дата 24.1.2007, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 15
Всего: 261



На сервере ты можешь это на туровне Апача раскидать по разным папкам?
Вот там и сделай...
Что касается косяков на локале, то тут претензии к настройке виртуальных хостов...
Сабдомен должен быть через ServerAlias настроен.
PM ICQ   Вверх
Гриша
Дата 24.1.2007, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НУС(незнаю|узнаю|создаю)
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 12.6.2005
Где: Земля, Москва, Хр ущевка

Репутация: нет
Всего: 1



Спасибо большое за ответ.

На хостинге можно указать одинаковые папки для домена и поддомена, жду когда создасться домен и попробую.
Сабдомен сделан не через ServerAlias, попробую сделать как надо.

Это сообщение отредактировал(а) Гриша - 24.1.2007, 01:45
--------------------
Если долго мучиться, что-нибудь получитЬся.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.0939 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.