![]() |
|
![]() ![]() ![]() |
|
Гриша |
|
|||
![]() НУС(незнаю|узнаю|создаю) ![]() Профиль Группа: Участник Сообщений: 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
Это сообщение отредактировал(а) Mal Hack - 23.1.2007, 19:59 --------------------
Если долго мучиться, что-нибудь получитЬся. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
||||
|
||||
AztEK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 723 Регистрация: 4.1.2005 Репутация: 1 Всего: 18 |
mod_rewrite здесь не товарищ. Эта проблема обсуждалась в разделе \"Администрирование Web серверов и Web служб\", ищите
-------------------- Linux is like wigwam -- no windows, no gates, apache inside. |
|||
|
||||
mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 2 Всего: 54 |
Если проблема только в таблицах стилей и include-ах то прописываешь на <link> полный адрес к домену с таблицами стилей. А там где ltkftim include пишешь обсолютный адрес (что-нибудь вроде /home/user/...)
Или у тебя не получается сделать чтобы поддомен обращался к другой папке? -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
Гриша |
|
|||
![]() НУС(незнаю|узнаю|создаю) ![]() Профиль Группа: Участник Сообщений: 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 --------------------
Если долго мучиться, что-нибудь получитЬся. |
|||
|
||||
mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 2 Всего: 54 |
Конечно можешь прописать тег <base>, но тогда придется поменять все ссылки на абсолютные.
Можно дальше поиграться с mod-rewrite? попробуй так:
В этом случае необходимо чтобы все папки с поддоменами лежали в директории ~subdomen и назывались по имени поддомена (к примеру subsite1.site1.ru его директория располагается в /~subdomen/subsite1) Картинки в папке images, а стили в папке styles. -------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
Гриша |
|
|||
![]() НУС(незнаю|узнаю|создаю) ![]() Профиль Группа: Участник Сообщений: 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 --------------------
Если долго мучиться, что-нибудь получитЬся. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
Гриша, ознакомься с теми ссылками, что я привел. В одной из тем как раз делается то, что тебе нужно.
|
|||
|
||||
Гриша |
|
|||
![]() НУС(незнаю|узнаю|создаю) ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 12.6.2005 Где: Земля, Москва, Хр ущевка Репутация: нет Всего: 1 |
Mal Hack, попробую еще раз с ними разобраться, но вообще те примеры которые там описаны как работающие у меня не работают, я описал все варианты, ну буду разбираться еще.
Добавлено @ 00:05 Mal Hack, закончил попробовать все из приведенных ссылок, результата никакого. Если вы знает где в ссылках приведен подходящий пример под мои услговия, если вы можете показать мне где именно этот пример, если этого не запрещают правила форума, пожалуйста покажите. Возможно я туплю и в правильном примере что-то делаю не так. Вот беру последнюю (3) ссылку, делаю так (происходит ненужный редирект):
--------------------
Если долго мучиться, что-нибудь получитЬся. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
||||
|
||||
Гриша |
|
||||
![]() НУС(незнаю|узнаю|создаю) ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 12.6.2005 Где: Земля, Москва, Хр ущевка Репутация: нет Всего: 1 |
Mal Hack, спасибо за ответ.
Вот пример:
Есть домен 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/:
Повидимому что-то делаю не так, прошу помощи! --------------------
Если долго мучиться, что-нибудь получитЬся. |
||||
|
|||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
Гриша, ты пытаешься привязаться к основному домену, а сделать этого нельзя. Ты должен к папкам привязываться!!!
RewriteCond %{HTTP_HOST} sub\.domain RewriteRule ^.*$ /sub/index.php При этом, домен и сабдомен должны быть настроены в Апаче на ОДНУ папку. |
|||
|
||||
Гриша |
|
|||
![]() НУС(незнаю|узнаю|создаю) ![]() Профиль Группа: Участник Сообщений: 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 --------------------
Если долго мучиться, что-нибудь получитЬся. |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 15 Всего: 261 |
На сервере ты можешь это на туровне Апача раскидать по разным папкам?
Вот там и сделай... Что касается косяков на локале, то тут претензии к настройке виртуальных хостов... Сабдомен должен быть через ServerAlias настроен. |
|||
|
||||
Гриша |
|
|||
![]() НУС(незнаю|узнаю|создаю) ![]() Профиль Группа: Участник Сообщений: 181 Регистрация: 12.6.2005 Где: Земля, Москва, Хр ущевка Репутация: нет Всего: 1 |
Спасибо большое за ответ.
На хостинге можно указать одинаковые папки для домена и поддомена, жду когда создасться домен и попробую. Сабдомен сделан не через ServerAlias, попробую сделать как надо. Это сообщение отредактировал(а) Гриша - 24.1.2007, 01:45 --------------------
Если долго мучиться, что-нибудь получитЬся. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |