1

Веб-сайт, который я часто посещаю, изменил свое доменное имя (old.example.com -> new.example.com). Как я могу легко переписать все записи в истории и сессиях Firefox (активные вкладки), как если бы сайт всегда использовал новый домен вместо старого? Вы можете предположить, что синхронизация не включена.

Моя ситуация похожа на Удаление URL по доменам из истории Firefox и удивительной панели. Этот принятый ответ недостаточен, потому что он только объясняет, как удалить элементы, а я хочу знать, как переписать элементы. И этот вопрос даже не затрагивает переписывание активных вкладок (у меня есть десятки таких вкладок, распределенных по группам вкладок).

1 ответ1

1

Я только что переписал свою историю и вкладки. Прошло два прохода, моя первая попытка не удалась (= полная история была потеряна), поэтому убедитесь, что у вас есть резервная копия вашего профиля, прежде чем выполнять следующие шаги.

Действия по переносу вашей истории с http://old.example.com на https://new.example.org:

  1. Выйти из Firefox.
  2. Создайте резервную копию своего профиля (как минимум sessionstore.js, place.sqlite и cookies.sqlite).
  3. Отредактируйте файл sessionstore.js и замените все вхождения старого домена новым.
  4. Удалите places.sqlite-shm и places.sqlite-wal если они существуют.
  5. Отредактируйте places.sqlite (например, используя sqlite3) и обновите moz_favicons , moz_places и moz_hosts . Обратите внимание, что некоторые столбцы имеют ограничение уникальности, поэтому, если вы посетили новый сайт, удалите новые элементы истории (в противном случае вы можете получить сообщение об ошибке, например «Ошибка: ограничение UNIQUE не выполнено: moz_favicons.url»).

    -- Website icons (favorites and tabs)
    delete from moz_favicons where url like 'http://new.example.org%';
    update moz_favicons
      set url=replace(url, 'http://old.example.com', 'https://new.example.org')
      where url like 'http://old.example.com%';
    
    -- History
    delete from moz_places where url like 'https://new.example.org%';
    update moz_places
      set url=replace(url, 'http://old.example.com', 'https://new.example.org'),
      rev_host='gro.elpmaxe.wen.'        -- ".new.example.org", reversed
      where rev_host='moc.elpmaxe.dlo.'; -- ".old.example.com", reversed
    
    -- Host metadata, affects autocompletion in URL bar
    delete from moz_hosts where host='new.example.org';
    update moz_hosts set host='new.example.org' where host='old.example.com';
    
  6. Удалите cookies.sqlite-shm и cookies.sqlite-wal если они существуют.

  7. Изменить cookies.sqlite:

    delete from moz_cookies where host like '%.new.example.org';
    update moz_cookies
      set baseDomain='example.org',
      host=replace(host, '.old.example.com', '.new.example.org')
      where host like '%.old.example.com';
    

    Примечание. Если вы переходите с http на https, вам может потребоваться установить для столбца isSecure значение 1, чтобы ограничить использование cookie для https.

  8. Теперь запустите Firefox, и теперь ваша история и активные сеансы должны использовать новый домен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .