2011-08-24 5 views
0

모바일 하위 도메인에 동일한 WordPress 블로그를 표시하고 하위 폴더에 메인 도메인을 표시하려고합니다. example.com/blog/ 및 m.example.com/blog/에 WordPress를 표시하십시오.

(모바일 테마와 사용자 정의한와)

  • m.example.com/blog/ (메인 테마와 사용자 정의한와)

    • example.com/blog/ : 이것은 다음과 같을 것이다 그러나 이것이 가능합니까 아니면 별도의 블로그를 설치하고 메인 블로그의 모바일 블로그에 콘텐츠를 복제해야합니까?

      PS -이 단계의 테스트 환경이며 사용자 에이전트 전환 및 SEO 중복 콘텐츠 고려 사항을 처리 할 것입니다.

  • 답변

    0

    이것은 가능하지만 단순한 눈에 거슬리는 해결책은 없습니다.

    이 작업을 수행하는 간단한 방법이 하나 있습니다.는 코어를 해킹 wp_set_wpdb_vars()이 추가 wp-includes/load.php에서 오른쪽 $prefix = $wpdb->set_prefix($table_prefix); 후 찾기 :

    if($_SERVER['SERVER_NAME'] == 'm.domain.tld'){ 
        $wpdb->options = "mobile_{$wpdb->options}"; 
        $wpdb->postmeta = "mobile_{$wpdb->postmeta}"; 
        $wpdb->commentmeta = "mobile_{$wpdb->commentmeta}"; 
    }else{ 
        $wpdb->options = "mobiless_{$wpdb->options}"; 
        $wpdb->postmeta = "mobiless_{$wpdb->postmeta}"; 
        $wpdb->commentmeta = "mobiless_{$wpdb->commentmeta}"; 
    } 
    

    이 트릭은 테이블의 두 가지 세트로 options and metas 샌드 박스 것이다. 이렇게하면 설치 한 플러그인에 다른 설정을 사용하더라도 덮어 쓰지 않습니다. 플러그인을 제어하고 설정 충돌을 방지하면 그냥 options table 샌드 박스를 만들 수 있습니다. 에서

    당신의 wp-config.php이 작업을 수행해야합니다

    if($_SERVER['SERVER_NAME'] == 'm.domain.tld'){ 
        require_once(dirname(__FILE__).'/wp-config-mobile.php'); 
    }else{ 
        require_once(dirname(__FILE__).'/wp-config-mobiless.php'); 
    } 
    

    이 모두 WP_SITEURLWP_HOME 제외을 동일한 설정 (DBNAME, 접두사)가 있어야합니다. wp-config.phpWP_HOMEWP_SITEURL을 정의하지 않으면 하나의 파일을 사용할 수 있습니다.

    +0

    감사합니다. 감사합니다. 정말 감사드립니다. 나는 그것을 오늘 시도 할 것이다. –

    관련 문제