Помогите с RewriteRule, или это вообще невозможно?

ParaBellum

Постоялец
Регистрация
20 Фев 2008
Сообщения
80
Реакции
4
Суть в том, чтобы сделать зеркало сайта на WP.
Итак, Есть site.ru с блогом на WP, есть второй алиас домен, alias.ru который ссылается на ту же папку на сервере что и site.ru

Теперь получается что блог доступен по 2-м адресам, но ссылки на страницах блога все ведут на основной сайт:site.ru/URI То есть можно зайти на страницу alias.ru/page1, но затем после любого клика попадаем на основной сайт.

То есть надо сделать правило чтобы тем кто зашел на зеркало alias.ru, все ссылки site.ru/URI подменялись на alias.ru/URI Подскажите как это сделать?

Код:
RewriteCond %{HTTP_REFERER} ^.*alias\.ru.*$  [NC]
RewriteRule ^(.*)$ http://alias\.ru/$1  [R=301]
не работает. Не грузятся картинки на alias.ru и при переходе ошибка 500.
 
htaccess тут тебе не поможет.
Для подмены ссылок нужно в движке изменения вносить. Например, в function.php темы написать правила замены ссылок в зависимости от хоста.
 
Может правильнее действительно фанкшнс подпилить...
Но почему htaccess не поможет? Неужели нельзя написать правило для htaccess:
- Если реферер содержит alias - заменяем "site.ru" на "alias.ru" в адресе ссылки?
Разве это невозможно сделать средствами mod_rewrite? Сами ссылки пусть берутся из БД вордпресса, главное чтобы человеку казалось что он с сайта alias.ru кликая по ссылке не переходит на главный сайт...
 
по всей видимости Вы не совсем понимает что есть реврайт, если Вы захоидте по ссылке alias.ru, в адресной строке отображается alias.ru, а линки на сайте site.ru/page.html, то тут реврайт вам не поможет.. он не вносит изменения в содержимое страниц, по всей видимости у вас прописано в самих тегах линки с сайтом <a href="Для просмотра ссылки Войди или Зарегистрируйся">, тут надо править код подменяя домен на правильный, или просто использовать относительные урлы <a href="/page.html">
 
Люди, я понимаю что такое реврайт. Я неверно выразился. Я понимаю, что при его помощи нельзя менять ссылки в html на страницах. Я прошу указать на ошибку в этом правиле:

RewriteCond %{HTTP_REFERER} ^.*alias\.ru.*$ [NC]
RewriteRule ^(.*)$ Для просмотра ссылки Войди или Зарегистрируйся [R=301]

Пусть ссылки на сайте остаются Для просмотра ссылки Войди или Зарегистрируйся, просто при переходе по этой сслыке пусть site.ru заменяется на alias.ru (в том случае если реферер содержит alias.ru)
Это же можно сделать при помощи реврайта?
 
Назад
Сверху