source

Wordpress 관리자 URL 변경

ittop 2023. 3. 13. 20:54
반응형

Wordpress 관리자 URL 변경

워드프레스 디렉토리 구조를 많이 바꿨어요.제가 가진 건 다음과 같습니다.

define('WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/wordpress');
define('WP_HOME',    'http://' . $_SERVER['SERVER_NAME']);
define('WP_CONTENT_DIR', dirname(__FILE__) . '/content');
define('WP_CONTENT_URL', 'http://' . $_SERVER['SERVER_NAME'] . '/content');

플러그인 및 테마가 포함된 컨텐츠 디렉토리가 있습니다.그리고 wp-content 폴더를 제외한 핵심 WP 파일이 포함된 워드프레스 디렉토리가 있습니다.

구조에서는 할 URL은 과 같습니다.URL은 WP 백엔드는 WP 백엔드입니다.http://site.dev/wordpress/wp-admin

수할 수 있는 요?http://site.dev/wp-admin

word press를 URL에 넣고 싶지 않습니다.htaccess 업데이트가 필요한가요?아니면 wp-config.php 파일에서 사용할 수 있는 설정이 있나요?

여기 워드프레스 사이트에서 온 기사가 있습니다.

http://wordpress.org/support/topic/how-to-change-the-admin-url-or-wp-admin-to-secure-login

  1. wp-config에 상수를 추가합니다.php

    define('WP_ADMIN_DIR', 'secret-folder');  
    define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);  
    
  2. 아래 필터를 함수에 추가합니다.php

    add_filter('site_url',  'wpadmin_filter', 10, 3);  
    
    function wpadmin_filter( $url, $path, $orig_scheme ) {  
        $old  = array( "/(wp-admin)/");  
        $admin_dir = WP_ADMIN_DIR;  
        $new  = array($admin_dir);  
        return preg_replace( $old, $new, $url, 1);  
    }
    
  3. .htaccess 파일에 아래 행을 추가합니다.

    RewriteRule ^secret-folder/(.*) wp-admin/$1?%{QUERY_STRING} [L]
    

저는 이것을 가지고 놀았습니다.그리고 이 모든 것을 다른 것(불필요한 폴더, 리다이렉트, 페이지 작성 등)을 하지 않고 아래 하나의 간단한 기능으로 할 수 있는 훨씬 더 간단한 방법이 있습니다.

// Simple Query String Login page protection
function example_simple_query_string_protection_for_login_page() {

$QS = '?mySecretString=foobar';
$theRequest = 'http://' . $_SERVER['SERVER_NAME'] . '/' . 'wp-login.php' . '?'. $_SERVER['QUERY_STRING'];

// these are for testing
// echo $theRequest . '<br>';
// echo site_url('/wp-login.php').$QS.'<br>';   

    if ( site_url('/wp-login.php').$QS == $theRequest ) {
        echo 'Query string matches';
    } else {
        header( 'Location: http://' . $_SERVER['SERVER_NAME'] . '/' );
    }
}
add_action('login_head', 'example_simple_query_string_protection_for_login_page');

이것은 매우 도움이 되는 주제입니다.함수를 조금 수정했습니다.다음은 제 버전입니다.

add_filter('site_url',  'wpadmin_filter', 10, 3);

 function wpadmin_filter( $url, $path, $orig_scheme ) {
    $request_url = $_SERVER['REQUEST_URI'];

    $check_wp_admin = stristr($request_url, 'wp-admin');
    if($check_wp_admin){
        wp_redirect( home_url( '404' ), 302 );
        exit();
    }

    $old  = array( "/(wp-admin)/");
    $admin_dir = WP_ADMIN_DIR;
    $new  = array($admin_dir);
    return preg_replace( $old, $new, $url, 1);
 }

주이이이의 wp-admin.

그리고 가장 중요한 부분:

add_rewrite_rule( '^' . 'backend/(.*)','wp-admin/$1?%{QUERY_STRING}' );

하기 위해, 「」.htaccessdisclossible을 클릭합니다.

가 한 은 감동뿐이었다./wp-admin 「」( 「」)의 안쪽에 있습니다.public_html/wordpress을(를) 로 변환합니다.public_html폴더의 이름을 했습니다(WordPress를 했습니다).wordpress_test것이든 사용 라고 제 example.com/wp-admin- 가 - 에 요. - 에 갔을 때처럼요example.com/wordpress/wp-admin

은 '바꾸다'를 입니다.wp-admin가 WP를 합니다.wp-admin여러 파일에 걸쳐 있습니다.이름만 변경해도 php 등의 오류가 발생합니다.제가 찾은 간단한 플러그인은 쉽게 고칠 수 있습니다.

주의: 이 작업을 수행하기 위해 코드를 작성할 필요가 없습니다. 플러그인이 원하는 기능을 하지 않아 코드를 변경해야 했습니다.

마침내 플러그인 없이 WP CORE를 수정하지 않고 실행할 수 있는 방법을 찾았습니다(모든 튜토리얼은 어떤 이상한 이유로 그렇게 하는 것이 좋습니다).

1-복사wp-login.php을 바꾸면 됩니다.new-secret-url.php ('루트 디렉토리')

2-오픈new-secret-url.php합니다.wp-login.php로로 합니다.new-secret-url.php

3- 기능에 다음 코드를 추가합니다.php:

/** Hide default login */
add_action( 'init', 'marounmelhem_hide_login' );
function marounmelhem_hide_login() {

    //Only proceed for guests
    if ( ! is_user_logged_in() ) {

        //Getting current page
        $current_url   = str_replace( '/', '', $_SERVER['REQUEST_URI'] );
        $hiddenWpAdmin = 'new-secret-url'; //Change this to your new secret wp-admin url
        $redirectNaTo  = '/';

        //Checking if accessing correct login url
        if ( $current_url == $hiddenWpAdmin ) {
            wp_redirect( '/'.$hiddenWpAdmin.'.php' );
            exit;
        }

        //Only allow requests to wp-login.php coming from correct login url
        $adminToCheck = [
            'wp-admin',
            'wp-login.php'
        ];
        if (
            in_array( $current_url, $adminToCheck )
            &&
            $_GET['action'] !== "logout"
        ) {
            wp_redirect( $redirectNaTo );
            exit();
        }
    }
}

4 - 다른 프런트 엔드 로그인 폼을 사용하지 않을 경우에만 이 기능이 작동합니다.사용할 경우 다음을 변경할 수 있습니다.

is_user_logged_in()!current_user_can( 'subscriber' )로직에서 ) ('프런트엔드 로그인 로직')

5 - 위와 같이 Ajax 콜이 기능하는지 잘 모르겠으니 시도해 보셨는지 알려주세요.

당신의 안전한 wp-admin에게 더 나은 전술을 보장하는 다른 방법이 있습니다.

또한 wp-admin 이름을 가진 경우도 있습니다.「 workers needed / 」

내 사이트 중 하나에 대해 실행했는데, 검색된 SSL 사이트가 지역별로 내 사이트를 향해 다르게 표시되는 기적이 일어났습니다.

메모장 ++라는 도구를 다운로드해야 합니다.https://notepad-plus-plus.org/download/

디렉토리의 각 파일에 대해 많은 작업을 하지 않는 한.

그런 다음 WordPress를 폴더로 추출해야 합니다.

그런 다음 wp-admin을 검색하면서 디렉토리 내의 모든 파일을 편집합니다.그런 다음 모든 파일을 "workers needed" 또는 사용자 이름으로 바꿉니다.

메모장과 같이 "파일 검색"을 입력하여 "검색 대상"을 찾습니다.wp - admin /

「치환처」에서는, 종업원이 필요/

그런 다음 모든 파일을 바꿉니다.

wp-config에 입력해야 합니다.php 이 행은 모든 문제를 감시하는 행이기도 합니다.

ini_set('log_errors',TRUE);
ini_set('error_reporting', E_ALL);
ini_set('error_log', dirname(__FILE__) . '/error_log.txt');

WordPress 디렉토리에서 가장 많이 덮어쓰고 wp-admin이 "workers needed"라는 이름을 갖게 되면 WordPress 플러그인 또는 테마에 약간의 문제가 발생할 수 있습니다.

따라서 error_log에 로그인해야 합니다.txt 파일.

파일에서 오류를 찾은 후.wp-admin 접속을 시도하고 있는 .php 파일을 편집해야 합니다.그러면 wp-admin 파일 정보를 관리 폴더로 바꿀 수 있습니다.

플러그인을 다시 다운로드하여 위와 같은 절차를 메모장++로 대체할 수 있습니다.그러면 모든 플러그인을 새 폴더 이름으로 사용할 수 있습니다.

그런 다음 각 플러그인의 폴더를 wp 파일 매니저 플러그인으로 wp-content 디렉토리에 업로드합니다.

WordPress를 다시 설치하는 경우에도 WordPress를 자동으로 업데이트하거나 업데이트할 수 없습니다.이러한 교환은 매번 실시해야 합니다.

이것은 최신 버전 5.0.3뿐만 아니라 4.9.8 버전의 WordPress를 사용하여 수행되었습니다.

5.0.3에서는 error_log에 더 많은 오류가 발생합니다.txt 파일.이유를 알 수 없다.

언급URL : https://stackoverflow.com/questions/24090866/change-wordpress-admin-url

반응형