사이트를 서핑하거나 사이트 주소를 동적으로 설정할 때 유지되는 두 개 이상의 병렬 (하위) TLD?


10

도메인 아래에서 독일 NGO 사이트를 운영하고 있습니다 sub.example.org.
최근에 sub.example.ch스위스 분사로 추가 했습니다.

모두 (서브) 도메인이 동일한 물리적 위치를 가리키는하는 WP는 (설치 하지 멀티 사이트).

sub.example.ch/register를 들어에서 찾은 내용을 올바르게 표시하도록 설정했습니다 sub.example.org/register.

그러나 스위스 방문자가 일반 사이트 링크를 사용하여 사이트를 서핑하는 경우 일반 설정에 정의 된대로 "워드 프레스 주소"(또는 "사이트 주소")를 사용하기 때문에 불가피하게 "일반"도메인이됩니다. 을 통해 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. 부작용이 있는지 또는 효과가 없는지 모르겠습니다. 일어나서는 안되지만 철저히 테스트하십시오.


나는 그것을 철저히 테스트 할 것입니다. 지금.
Johannes Pille

4
12 시간 후 : 예외없이 작동합니다. 그 가치가 나올 것이라는 $_SERVER['HTTP_HOST']것은 매우 간단합니다. 그것은 저의 접근 방식이었을 것입니다. 이것이 답변되는 동안 bloginfo_url플러그인 에서 필터 를 사용하려고했습니다 . 일을하지 않았다 . 그러나 구성 파일에 필터링을 넣으려면 며칠 동안 고민 한 후에 시도했을 것입니다. 이 솔루션의 결과는 나의 기대를 뛰어 넘었습니다. 링크는 잘 해결 될뿐만 아니라 로그인 자격 증명도 제대로 작동하며 백엔드도 질식하지 않습니다! 신난다!
Johannes Pille

1
두 (하위) 도메인 모두 동일한 물리적 위치 인 WP 설치 (멀티 사이트 아님)를 가리 킵니다. 그렇게하려면 호스팅 서비스에 로그인해야합니다. 하위 도메인, 도메인을 만들 때 문서 루트를 지정해야합니다. 여기에서 WP가 설치된 기본 도메인과 동일한 경로를 선택하십시오. 그런 다음 코드를 추가하십시오. 완벽하게 작업하고 SEO (정규 태그 및 대체 태그)에 대해 생각해보십시오
Romain
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.