Два (або більше) паралельних (суб-) TLD, які зберігаються під час серфінгу по сайту / динамічно встановлюють адресу сайту?


10

Я розміщую сайт для німецької громадської організації під доменом sub.example.org.
Нещодавно я додав sub.example.chдля свого швейцарського спін-оф.

Обидва (суб-) домену вказують на одне фізичне розташування, встановлення WP ( не багатомісний).

У мене це налаштування таке, що sub.example.ch/register, наприклад, правильно відображатиме вміст, знайдений під sub.example.org/register.

Однак, коли швейцарський відвідувач відвідує сайт, використовуючи звичайні посилання на сайт, він або вона неминуче потрапляє на "звичайний" домен, оскільки ті використовують "адресу WordPress" (або "адресу сайту"), як визначено в загальних налаштуваннях , через get_home_urlабо get_site_url()(або їх менш глибокі get_bloginfo()еквіваленти).

В ідеалі я хотів би, щоб відвідувач продовжував займатися серфінгом у домені, яким він або вона користувався, щоб перейти на сайт. Отже, я вважаю, що мені доведеться якось фільтрувати повернене значення згаданих функцій. Фільтр, якого, наскільки я знаю, не існує.

  1. Хтось має досвід подібних речей і корисне рішення?

  2. Це, можливо, німа ідея, і я повинен її відпустити в першу чергу?

Відповіді:


9

Ви можете фільтрувати запити на опції для хоста.

У вашому рядку wp-config.php нижче ...

require_once ABSPATH . 'wp-settings.php';

… Додати наступні рядки:

add_filter( 'pre_option_home', 'set_current_host' );
add_filter( 'pre_option_siteurl', 'set_current_host' );

function set_current_host()
{
    return 'http://' . $_SERVER['HTTP_HOST'];
}

add_filter()недоступний раніше, і ви повинні зберігати такий код у своєму wp-config.php. Я не знаю, чи є побічні ефекти або випадки, коли це не працює. Не повинно статися, але ретельно перевіряйте це.


Я перевіряю це ретельно точно. Тепер.
Йоганнес Піл

4
12 годин потому: Працює без винятку. Що цінність повинна була б з’являтися $_SERVER['HTTP_HOST']досить прямо, це був би і мій підхід. Поки на це відповідали, я намагався використати bloginfo_urlфільтр із плагіна. Хіба НЕ робити цю роботу. Однак, щоб помістити фільтрування у файл конфігурації, я б спробував через кілька днів роздумувати, якби взагалі. Результат цього рішення перевершив мої найсміливіші сподівання: Мало того, що посилання вирішуються добре, а також дані облікового запису для входу в систему, і навіть бек-енд не задушується! Дивовижність!
Йоганнес Піл

1
Обидва (суб-) домену вказують на одне фізичне розташування, встановлення WP (не багатомісний). Для цього вам потрібно увійти в службу хостингу. Коли ви створюєте субдомен, домен, ви повинні вказати корінь документа. Тут виберіть той самий шлях, що і ваш основний Домен із встановленим на ньому WP. Потім додайте код. Працюючи ідеально, спробуйте подумати про SEO (канонічні та альтернативні теги)
Ромен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.