Серьезный баг со ссылками при прикреплении домена к сайту

Всем привет.
Я неутомимо продолжаю изучать ваш движок и обнаружил достаточно серьезный баг в LS. История следующая — я на своем хостинге создал директорию для тестирования движка LS, хостер при этом выдал мне «служебный» адрес моего нового сайта, выглядит он примерно так 10.xxxxxx.z8.ru (ага, петерхост), после этого я в эту директорию устновил LS и стал с ним работать, спустя некоторое время я решил прикрепить к этому сайту нормальный домен вида site.ru, после того как обновились DNS сайт стал открываться по нормальному адресу, пока всё хорошо, я захожу на сайт через новый домен site.ru, пробую перейти по любой ссылке в меню например «блоги» и что я вижу? ВСЕ ссылки на сайте работают через старый служебный домен 10.xxxxxx.z8.ru! Получается следующее — мы сидим допиливаем LS до необходимого вида и функционала, тратим на это достаточно много времени и сил и в результате потом НЕ можем перейти с тестового на нормальный домен! Ребят, это очень серьезно, хорошо что я кроме как ковырянием с CSS и установкой плагинов больше ни с чем не баловался, а если люди что-то Большое уже сделали?..

Что мы имеем в итоге:
1. движок где-то у себя внутри «запоминает» первоначальный домен и записывает все ссылки именно через него
2. Очистка кэша через админку ни к какому результату не привела, Ctrl+F5 тоже бесполезен
3. При попытке авторизоваться или зарегистрироваться на сайте по новому адресу зависает модальное окно (бегающие квадратики).

Кто может подсказать что делать? Можно конечно заново установить систему но не хотелось бы.

UPD: решение найдено
В файле config.local.php в 33-й строчке прописываем новый домен:
$config['path']['root']['web'] = 'http://newsite.ru';

13 комментариев

avatar
А что говорит ваш конфиг $config['path']['root']['web']?
avatar
Вот это:

// for CLI scripts. or you can append "HTTP_HOST=http://yoursite.url" before script run command
    $config['path']['root']['web']        = null;


Нужно null изменить на новый адрес?
avatar
Там по умолчанию стоит: 'http://'.$_SERVER['HTTP_HOST'] или null, но $_SERVER['HTTP_HOST'] не всегда совпадает с адресом сайта так что надо прописать вручную в файл config/config.local.php:
$config['path']['root']['web'] = 'http://site.ru';
avatar
Ок, попробую, спасибо.
avatar
А куда именно прописывать? в кусок после if или после else?

Попробовал вот так:
else {
    // for CLI scripts. or you can append "HTTP_HOST=http://yoursite.url" before script run command
    $config['path']['root']['web']        = 'http://site.ru';
}

Всё также (
avatar
в config/config.local.php не нужно разветвлять if`ом, просто впишите $config['path']['root']['web'] = 'http://site.ru';
avatar
Уже нашел, блин, я не в том файле копал.
avatar
Само собой подставлял вместо site.ru свой адрес.
avatar
Весь кусок:

if (isset($_SERVER['HTTP_HOST'])) {
    $config['path']['root']['web']        = 'http://'.$_SERVER['HTTP_HOST'];     // полный WEB адрес сайта
} else {
    // for CLI scripts. or you can append "HTTP_HOST=http://yoursite.url" before script run command
    $config['path']['root']['web']        = null;
}
avatar
Нужно в config.php изменить домен на новый, и всего то.

Есть проблема/недочет с адресами картинок (если загружались). Надо в БД выполнить SQL запрос:

UPDATE `prefix_topic_content` SET `topic_text` = REPLACE(`topic_text`, "http://old.ru", "http://new.ru")
 
UPDATE `prefix_topic_content` SET `topic_text_short` = REPLACE(`topic_text_short`, "http://old.ru", "http://new.ru")
 
UPDATE `prefix_topic_content` SET `topic_text_source` = REPLACE(`topic_text_source`, "http://old.ru", "http://new.ru")
 
UPDATE `prefix_topic_comment` SET `comment_text` = REPLACE(`comment_text`, "http://old.ru", "http://new.ru")
avatar
Проблема не с картинками а с адресами всех ссылок — меню, адреса топиков и так далее.

Где именно менять домен в конфиге? Там две строки:
if (isset($_SERVER['HTTP_HOST'])) {
    $config['path']['root']['web']        = 'http://'.$_SERVER['HTTP_HOST'];     // полный WEB адрес сайта
} else {
    // for CLI scripts. or you can append "HTTP_HOST=http://yoursite.url" before script run command
    $config['path']['root']['web']        = null;
}
avatar
Выше вам правильно сказали. Откройте config/config.local.php, найдите строчку:

$config['path']['root']['web'] = 'http://site.ru';


Измените на свой новый домен.

P.S. config.local.php это тот же config.php, но по приоритету настройки находящиеся там выше.
avatar
ВСЁ нашел, спасибо! Я туплю — лазил по файлу config.php
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.