Дано:
сайт1: site.com
сайт2: pda.site.com
Оба сайта пользуются одной базой данных. Соответственно, есть только один URL, который можно указать в качестве главной страницы.
Вопрос:
Как сделать, чтобы сайт pda.site.com имел свой вариант главной страницы? То есть, чтобы страница, расположенная по адресу pda.site.com/all открывалась при запросе pda.site.com/
?
Пока придумал только вариант с редиректом в htaccess:
RewriteBase /
RewriteCond %{HTTP_HOST} ^pda\.site\.com$ [NC]
RewriteRule ^$ all [L,R=301]
Но в этом варианте просто при обращении к pda.site.com/ происходит перенаправление на pda.site.com/all, а хотелось бы, чтобы адрес оставался тот, к которому обращаются, т. е. pda.site.com/
Комментарии
технически нужно убрать R=301 из выражения. раньше у меня получалось, сейчас не могу проверить…
Не помогает. Я уже и R пробовал и QSA - разные варианты.
У меня на нескольких сайтах этот момент в htaccess работает по-разному. На одном (персональная CMS) четко подменяет один адрес другим при таком коде:
RewriteRule ^error401.htm 401.php [QSA,L]
Если набрать 401.php подменит адрес на несуществующий error401.htm.
На другом (php, без движка) при таком коде открываются оба адреса, а на друпаловском это вообще не срабатывает - только перенаправление из первого поста.
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^pda\.site\.com$ [NC]
RewriteRule ^$ all [R=301] # Сделать редирект на существующую станицу
RewriteRule ^all$ / [QSA,L] # Сделать символическую ссылку на /
Апача нет под рукой, проверить не могу. Главное чтоб не зациклило редирект.
6RUN0, попробовал - не работает. Не срабатывает ни редирект, ни подмена адреса. Адреса pda.site.com/ и pda.site.com/all открывают соответствующий каждому из них контент.
ну дак доку почитай, я этот апач уж года 3 как не использую
Если твоё
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^pda\.site\.com$ [NC]
RewriteRule ^$ all [L,R=301]
редиректит с pda.site.com на pda.site.com/all
то в нем меняеш последнюю строку на
RewriteRule ^$ all [R=301]
[L] - last , те это правило применяется и др. правила для редиректа не рассматриваются.
Далее тебе нужно просто изменить url и сделать это правило, "последним"
Попробуй ещё так
RewriteRule /all / [QSA,L]
или даже так
RewriteRule /all$ / [QSA,L]
или даже так
RewriteRule /all / [PT,L]
6RUN0, во всех трех вариантах выдает ошибку:
Где "here" - адрес "pda.site.com".
так и нет решения?
Пока, увы, нет. Поиск продолжается...
нашел вот такое решение. не знаю, как на друпале, на другом движке сработало. правда ссылки внутри страницы остаются по прежнему с главного домена
RewriteCond %{HTTP_HOST} =subdomain.site.com
RewriteCond %{REQUEST_URI} !^/subdomain
RewriteRule ^(.*)$ /subdomain/$1 [L,QSA]