웹 사이트 섹션의 도메인이 다릅니다.
웹사이트는 b.com과 b.com이라고 부르자.그것들은 지금까지 완전히 분리되어 있었다.다만, 「클라이언트」가 있기 때문에, 클라이언트는 b.com 를 a.com 의 일부(같은 미디어 라이브러리, 유저, 호스트, 데이타베이스 등)로 하고 싶다고 생각하고 있습니다.독자적인 영역과 디자인을 가지고 있습니다.사이트 내에 자체 도메인이 있는 사이트.
즉, 기본적으로 사용자가 사이트의 특정 부분에 접속했을 때(a.com/b,라고 합시다) URL이 b.com로 변경됩니다.
이 문제는 아파치 가상 호스트로 해결할 수 있을 것 같습니다.Yii를 사용하는 방법에 대해서는, 2개의 컨트롤러 전용으로 다른 도메인을 할당해 주세요.
하지만 저는 Wordpress를 사용하고 있기 때문에 (이미 메인 사이트가 만들어졌기 때문에) 바닐라 PHP와 Apache tweaking으로 해야 합니다.어떤 조언이나 조언이라도 환영합니다.
주의:이것은 멀티사이트에 관한 것이 아닙니다.그것은, 공통의 미디어 갤러리나 유저등의 메리트를 무효로 하기 때문입니다.
단일 WordPress 설치를 사용하려면 도메인 매핑 플러그인으로 WordPress Multisite를 실행하거나 WordPress가 각 도메인에서 작동하여 콘텐츠를 조건부로 서비스할 모든 요청 호스트 이름(도메인)을 수락하도록 할 수 있습니다.
은 두 가지 모두를 을 전제로 하고 있습니다.example.com
★★★★★★★★★★★★★★★★★」secondary.com
WordPress 하다. WordPress를 사용합니다., 다음의 는, , 하지 않을 수도 ).
WP가 요청에 대해 여러 호스트 이름을 허용하도록 설정
일반적으로 WordPress는 페이지와 콘텐츠를 제공할 수 있는 단일 호스트 이름/도메인에 연결됩니다.이 wp_options
siteurl
★★★★★★★★★★★★★★★★★」home
http://www.example.com
예를들면.
하면 이 할 수 요.wp-config.php
를 WP_SITEURL
★★★★★★★★★★★★★★★★★」WP_HOME
com 도메인이 maindomain.com로 올바르게 되어 있는지 확인해야 .wp_options
행 " " "siteurl
★★★★★★★★★★★★★★★★★」home
이렇게 wp-config.php
WP가 임의의 도메인을 받아들이도록 하기 위한 파일:
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
(필요에 따라서, HTTP 와 HTTPS 를 조정해 주세요.
도메인이 서버를 가리키면 WP 설치가 정상적으로 열립니다.원하는 수만큼 도메인을 가질 수 있으며 액세스 시 모두 WP가 로딩됩니다.
페이지를 다른 도메인으로 재연결
.htaccess 코드 또는 WP 코드를 사용하여 리다이렉트를 실행할 수 있습니다.리다이렉트가 어플리케이션/사이트에 고유하고 어디서든 작동해야 하는 경우 소스 코드 저장소 등에서 WP 코드를 따라다닐 가능성이 높기 때문에 WP 코드를 사용해 보십시오.
add_action('template_redirect', function () {
$isMainDomain = strpos($_SERVER['REQUEST_URI'], 'example.com') !== false;
// We are on primary domain and on domain.com/b
if ($isMainDomain && is_page('b')) {
wp_redirect('http://secondary.com');
exit;
}
// You need to validate child pages too and redirect where needed.
});
을 테마에 합니다.functions.php
하고 있는 b
에서는 인인도이이이이이이이이이이로 리다이렉트 .secondarydomain.com
.
.htaccess를 사용하여 이 작업을 수행하려면 다음을 시도해 보십시오.
RewriteEngine on
RewriteBase /
// Redirect page `b` and all child pages to other domain.
RewriteCond %{HTTP_HOST} example.com$
RewriteRule ^b/(.*)$ http://www.secondary.com/$1 [L,QSA,R=301]
WP 페이지에서 페이지 슬래그 삭제
now제 sitting sitting sitting sitting at 에 사용자가 앉아 있습니다.http://www.secondary.com
, 는 페이지 WP 의 첫 를 볼 수 b
.
.htaccess 다시 쓰기를 사용하면 필요에 따라 도메인 요청을 특정 "하위 디렉토리"로 프록시할 수 있습니다.
RewriteEngine on
RewriteBase /
# Something like the following should hide the `b` page/dir from requests.
RewriteCond %{HTTP_HOST} secondary.com$
RewriteRule ^(.*)$ http://www.secondary.com/b/$1 [L,QSA]
에서는 먼저 가 에 합니다.secondary.com
경우 서버는 모든 요청을 페이지 WordPress로 다시 씁니다.b
서브페이지입니다.
때http://www.secondary.com
에 매핑되어야 합니다.http://www.secondary.com/b
대신 페이지를 표시합니다.
(주의: 위의 규칙은 테스트하지 않았기 때문에 그대로 동작하거나 동작하지 않을 수 있습니다.
퍼멀링크 수정
'과다링크' '에.b
. permalink 턴 . . . . . . . . . . .http://www.example.com/b
해야 때http://www.secondary.com
★★★★★★ 。
permalinks 필터를 추가하면 이 문제가 해결됩니다.
add_filter('post_link', function ($link, $post) {
if (is_admin()) {
// Don't change in admin, or editing pages may break
return $link;
}
// Check here that if the $post is either page `b`
// or a child of that page
// then return the proper link instead.
return 'http://www.secondary.com/foo/bar';
});
이는 미디어 또는 사용자의 동작을 고려하지 않는 얕은 접근법입니다.두 도메인 모두 교차 오리진 요청을 허용하고 사용자 세션 쿠키가 필요한 경우 교차 오리진 세션용으로 올바르게 저장되었는지 확인해야 합니다.
또한 미디어 업로드 프로세스에 접속하여 두 WP 설치가 동일한 디렉토리와 데이터를 사용하도록 하는 방법을 연구해야 합니다.는, 「」, 「」와 같이 사용할 수 .upload_dir
및할 수 .wp_insert_post
아니면 비슷한 것 같아요.
의 WP 를 1개의 할 수 .WP 설치는 2개의 WP를 사용하여 1개의 사용자 테이블을 합니다.wp-config.php
속임수
즉, 기본적으로 사용자가 사이트의 특정 부분에 접속했을 때(a.com/b,라고 합시다) URL이 b.com로 변경됩니다.
것 .a.com/b
브라우저가 로 리다이렉트 됩니다.b.com
.
가장 간단한 방법은 다음과 같은 이름의 디렉토리를 만드는 것입니다.b
root에 apache 디폴트파일(index.htm, index.htm 등)을 넣으면 해당 파일에는 리다이렉션헤더가 있습니다.
이상적인 방법은 301 리다이렉션을 설정하는 것입니다..htaccess
.......
Redirect 301 /b http://b.com
또는 와일드카드를 사용합니다.
RedirectMatch 301 /b(.*) http://b.com/$1
(온라인에는 수많은 htaccess 리소스가 있습니다.)
두 가지 극단으로 구분됩니다.그 사이에도 많은 옵션이 있습니다.리다이렉트 횟수, 패턴 유무, 역동적으로 생성 가능 여부 등에 따라 자신에게 가장 적합한 옵션을 선택해야 합니다.
여기서 발생할 수 있는 문제(이 문제를 완전히 설명하지 않았기 때문에 말하려고 합니다)는 a.com으로 돌아가 b.com에서 동일한 리다이렉션을 설정할 수 없는 경우에 대한 것입니다.이 경우 iframe 내에서 b.com 렌더링을 하면서 a.com/b에서 말하는 것이 좋습니다.
wp 필터나 htaccess 규칙을 조작하고 싶지 않은 경우
수 요.index.html
/하는 에, 「b」 /b/인 를 합니다.a.com/b
를 플레인
<script>top.location='http://b.com'</script>
b©.com의 " of a한 내용을 b.com © a.com a.com 의(((((( ( " This site is partment of a.com" ) 。a 를 b 에 링크 하는 는, likea.com 를 합니다.b. 는, 「b.com」, 「b.com」의 「b.com」의 「b.com」의 「b.com」, 「b.com」의 「b.com」의 「b.com」의 「b.com」의 「b.com」의 「b.com」의 「b.com」의 「b.com」를 참조해 주세요.
href="b </ <a href="b.com"> b.com </a>
. a a.com으로 됩니다.a.com은 b.com로 리다이렉트 할 수 .
언급URL : https://stackoverflow.com/questions/35125817/different-domain-for-section-of-website
'sourcecode' 카테고리의 다른 글
html에서 data-signid 속성은 무엇입니까? (0) | 2023.02.11 |
---|---|
asp.net core 1.0 web api는 camelcase를 사용합니다. (0) | 2023.02.11 |
SQL 테이블을 python에서 JSON으로 반환 (0) | 2023.02.11 |
Retrofit & Gson을 사용한 JSON 어레이 응답 해석 (0) | 2023.02.11 |
Angularjs 동적으로 설정된 속성 (0) | 2023.02.11 |