Новости Joomla

Загадочный параметр $live_site в configuration.php Joomla

Загадочный параметр $live_site в configuration.php Joomla

Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.

Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.

Однако, параметр всё же остался в ядре Joomla. Зачем он нужен? А нужен он в 2-х случаях:

  • для работы класса Joomla\CMS\Uri\Uri, который часто используется в коде Joomla для работы методов
    Uri::root() и
    Uri::base(), а значит может влиять и на работу в том числе ajax-скриптов.
  • для работы Joomla в CLI - командной строке сервера. В случае если вы используете в вашем CLI-плагине методы опять-таки класса Uri, то CLI ничего не знает о текущем домене, так как запускается вне web-сервера.

Поэтому домен нужно указывать принудительно. Либо с помощью параметра командной строки

--live-site, например,
—live-site=https://site.ru/. Со слешем на конце, иначе в CLI адрес сайта станет
https://site.rujoomla.php.Либо в параметре
$live_site в файле configuration.php, так как
CliApplication берёт настройку оттуда, если параметр команды не указан или пуст.

⚠️ Иначе в качестве хоста и url класса Uri будет установлено https://joomla.invalid/set/by/console/application. В самом же коде команды получить параметр

$live_site можно из объекта приложения

<?php protected function doExecute(InputInterface $input, OutputInterface $output): int { //... $live_site = $this->getApplication()->get('live_site'); //... }

и исходя из этого строить дальнейшую логику.

0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 1890 Просмотров
*

EgorKus

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Всем привет.
Года 2 назад делал сайт. Все работало. Забэкапил.
Сегодня распаковал бэкап на том же хостинге на новый субдомен.
Открываю сайт - идет переадресация на старый домен.
Т.е. .htaccess - в норме, а сайт переадресовывется. В меню на главной тоже - указана страница с текстом.
Техподдержка провайдера говорит, что переадресация прописанга в БД.
Т.е. какой-то компонент прописал в БД старый домен (видимо при инсталляции) и сохранил в БД эти данные.
И делает переадресацию.
Пытаюсь отключать компоненты, чтобы найти, кто именно переадресовывпает - пока не получается.
Попробовал сделать в редакторе автозамену старого домена новым субдоменом - выдает ошибку при попытке импортировать БД.
Как решить проблему?
Спасибо!
*

wishlight

  • Гуру
  • 5052
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
live_site в конфигурации пустой? Ну а так ищите в импортированной базе старый домен и выясняйте в каком конкретно расширении идет переадресация, если уверены что в базе.
*

EgorKus

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
live_site - пустой.
На сайте стоит RS SEO - в нем очень много ссылок в БД.
Сейчас его снес, делаю бэкап новой БД и буду смотреть.
А то в нем очень много ссылок - трудно найти, что может влиять.
*

EgorKus

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
В общем - не понятно.
Снес кучу компонентов, которые могли давать ссылки. В ручном режиме удалил оставшиеся таблицы в БД.
В .htaccess - все в норме. В пункте меню (и на главной) прямой переадресации нет.
1.В админку захожу нормально.
2.Главную страницу сайта переадресовывает на старый (уже не существующий) домен.
Где и как искать то, что делает редирект на старую страницу - не понятно.
HELP me! :(
*

wishlight

  • Гуру
  • 5052
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
Может плагин какой? Ну в крайнем случае распакуйте сайт целиком и скиньте мне в личку доступы. Посмотрю бесплатно.
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Если .htaccess коректный и там нет редиректов, проверяйте configuration.php, пути к папкам. Далее, причиной могут стать скомпилированные less, делайте поиск вашего домена старого по всем файлам и смотрите. Третье - то же самое сделайте по базе данных, поиск по всем таблицам старого домена. Если первые два варианта не дадут результата, возможно вам при взломе что то прописали в скрипты, попробуйте обновить Joomla (вы написали, что сайту 2 года), возможно решит проблему. Так же проверьте его Айболитом.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

EgorKus

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Всем откликнувшимся спасибо.
Снес 5 компонентов, почистил кэш - сайт заработал.
Сейчас восстановлю, буду сносить по одному, после каждого чистить кэш и проверять.
Вычислю, кто делает редирект... ;)
*

EgorKus

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Проблема решилась так:
Компонент RS SEO, внизу плагина был прописан домен, для которого велась Гугле-статистика.
Изменил название домена на новое - все заработало.
Всем спасибо! ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 11
Просмотров: 3777
Последний ответ 05.06.2025, 04:48:29
от andrey222
По поводу сессий Joomla 3

Автор azm1n

Ответов: 0
Просмотров: 538
Последний ответ 25.05.2025, 09:26:17
от azm1n
Не работает мобильная версия сайта

Автор jeans

Ответов: 4
Просмотров: 604
Последний ответ 21.05.2025, 12:44:06
от jeans
Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 700
Последний ответ 09.05.2025, 12:39:18
от azm1n
Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 1761
Последний ответ 28.04.2025, 10:25:44
от sivers