Разделить сайты в .htaccess
        Добрый день!
Вот тут Василий выложил замечательный плагин для создания двух сайтов в одной админке. К сожалению там комментарии отключены и написать вопрос нет возможности.
По примеру все сделал, все работает, но осталась один вопрос:
Как развести ссылку в /index.php что бы каждая ссылалась на свой сайт!? Если в стандартном, то эта строчка выглядит следующем образом:
    
    
                                                                                
            Вот тут Василий выложил замечательный плагин для создания двух сайтов в одной админке. К сожалению там комментарии отключены и написать вопрос нет возможности.
По примеру все сделал, все работает, но осталась один вопрос:
Как развести ссылку в /index.php что бы каждая ссылалась на свой сайт!? Если в стандартном, то эта строчка выглядит следующем образом:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]Пробовал вот так, на первом отрабатывает, на втором перебрасывает на первый:RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://%1/$1 [R=301,L]Кто решил проблему, отпишитесь, спасибо!    Комментарии: 17
                На сколько знаю, если используешь $1 или %1, значит нужно где-то что-то в скобки взять…
% — берется из RewriteCond
$ — берется из RewriteRule
                    % — берется из RewriteCond
$ — берется из RewriteRule
                Не знаю, я взял по примеру вот этого, это правило отрабатывает правильно:
                    RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]            
                Вот я о том и говорил…
%1 = (.*) из RewriteCond
$1 = (.*) из RewriteRule
А у тебя ничего в скобки не взято,
т.е. на выходе у тебя вместо
                    %1 = (.*) из RewriteCond
$1 = (.*) из RewriteRule
А у тебя ничего в скобки не взято,
т.е. на выходе у тебя вместо
http://%1/$1 получается http:///            
                Что т не могу найти нужного описания для правки, к примеру вот тут больше упор за site.ru/##/## — а как написать мне переменную!?            
                    
                Сразу оговорюсь, я сути вопроса не очень понял, точнее не вникал в данную тему разделения, я лишь к регуляркам придрался.
Вот ты пишешь
$1, %1 — это что у тебя? Переменные? а откуда они значения берут?
Тогда уж нужно писать как-то так:
                    Вот ты пишешь
RewriteRule ^index\.php$ http://%1/$1 [R=301,L] $1, %1 — это что у тебя? Переменные? а откуда они значения берут?
Тогда уж нужно писать как-то так:
RewriteRule ^(index\.php)$ http://site.ru/$1 [R=301,L]тогда $1 будет равна index.php            
                Смотри в одной админке два сайта:
Ты набираешь site.ru/index.php и попадаешь на site.ru
На втором сайте набираешь mypage.ru/index.php и попадаешь на site.ru
Нужно при наборе index.php перенаправляло в свою директорию
Касательно того что я попробовал изначально, я просто попытался по этому примеру:
                    Ты набираешь site.ru/index.php и попадаешь на site.ru
На втором сайте набираешь mypage.ru/index.php и попадаешь на site.ru
Нужно при наборе index.php перенаправляло в свою директорию
Касательно того что я попробовал изначально, я просто попытался по этому примеру:
## Перевод с www на без www
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]адаптировать это правило для себя## Перенаправляем с index.php на /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://site.ru/ [R=301,L]            
                Не знаю, правильно или нет написано, но, как я думаю, логика примерно такая:
                    RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]
RewriteRule ^(.*)$ https://site.ru/dir1/$1 [R=301,L]RewriteCond %{HTTP_HOST} ^www.mypage\.ru$ [NC]
RewriteRule ^(.*)$ https://site.ru/dir2/$1 [R=301,L]            
                Максим что то я не уловил логики что ты пытаешься сделать!
У меня в одной админке два сайта, другими словами два домена = два сайта!
Смотри, если в MODx не указать правило обработки
Мне нужно развести site.ru/index.php и mypage.ru/index.php, что бы при наборе любого из указанных URL тебе перенаправляло в свою директорию, а именно site.ru и mypage.ru
Что ты выше пытаешься сделать, я не совсем понял!
                    У меня в одной админке два сайта, другими словами два домена = два сайта!
Смотри, если в MODx не указать правило обработки
## Перенаправляем с index.php на /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://site.ru/ [R=301,L]то при наборе site.ru/index.php будет открываться главная страница, идентичная просто site.ruМне нужно развести site.ru/index.php и mypage.ru/index.php, что бы при наборе любого из указанных URL тебе перенаправляло в свою директорию, а именно site.ru и mypage.ru
Что ты выше пытаешься сделать, я не совсем понял!
                Я тоже не совсем понимаю что ты хочешь))
Во-первых, я изначально говорил про регулярки, то что ты их не совсем правильно используешь.
Во-вторых, как уже писал не особо вникал в тему (ссылку которую ты приводил).
В-третьих, я не могу понять про index.php. По-умолчанию / и так соответствует индексу и перенаправляет на index.html или index.php. Можно написать DirectoryIndex index.php.
Сейчас то у тебя как настроено? Два домена ссылаются на один и тот же файл index.php, расположенный в одной и той же директории на сервере?
Смысл то в том чтобы проверять название домена, если оно равно site.ru, перенаправлять на одну папку, если оно равно mypage.ru — на другую? Просто в таком случае я не пойму при чем тут index.php :))
                    Во-первых, я изначально говорил про регулярки, то что ты их не совсем правильно используешь.
Во-вторых, как уже писал не особо вникал в тему (ссылку которую ты приводил).
В-третьих, я не могу понять про index.php. По-умолчанию / и так соответствует индексу и перенаправляет на index.html или index.php. Можно написать DirectoryIndex index.php.
Сейчас то у тебя как настроено? Два домена ссылаются на один и тот же файл index.php, расположенный в одной и той же директории на сервере?
Смысл то в том чтобы проверять название домена, если оно равно site.ru, перенаправлять на одну папку, если оно равно mypage.ru — на другую? Просто в таком случае я не пойму при чем тут index.php :))
                Еще раз более подробно, смотри:
Вот есть решение: bezumkin.ru/sections/tips_and_tricks/2439
Сделал так же, теперь у меня в админке два сайта! К примеру:
Далее проблема:
                    Вот есть решение: bezumkin.ru/sections/tips_and_tricks/2439
Сделал так же, теперь у меня в админке два сайта! К примеру:
site.ru
mypage.ruПолучается, что физически один движок, один и те же папки на два сайта!Далее проблема:
если набрать:
site.ru/index.php
то попадаем на:
site.ruесли набрать:
mypage.ru/index.php
то попадаем на 
site.ruЗадача, в .htaccess написать условие, что бы при наборе site.ru/index.php
или
mypage.ru/index.php
перенаправляло на самого себя, т.е. на :
site.ru
и соответственно
mypage.ru            
                Как я понял, сейчас у тебя стоит:
Поэтому он и перенаправляет
Может быть в таком случае вообще убрать это правило?
Или можно попробовать написать:
                    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]Поэтому он и перенаправляет
http://mypage.ru/index.php на http://site.ru/, как и указано в RewriteRule.Может быть в таком случае вообще убрать это правило?
Или можно попробовать написать:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://%{HTTP_HOST}/ [R=301,L]            
                Да не, вот это указал правило для обычного сайта
Это не работает к сожалению
                    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]что вот это правило нужно адаптировать под свои нужды на два сайтаЭто не работает к сожалению
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://%{HTTP_HOST}/ [R=301,L]            
                а так
                    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]            
                Нет, к сожалению =(            
                    
                Кстати, браузеры вроде еще кешируют ссылки (перенаправления)… нужно очистить кеш перед тем как пробовать…            
                    
                Это было сделано в первую очередь! MODx вообще хорошо все кеширует!
Кстати да, попробовал в другом браузере, заработало!
                    Кстати да, попробовал в другом браузере, заработало!
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://%{HTTP_HOST}/ [R=301,L]Спасибо тебе!            
                Ок, пожалуйста))            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.