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
wp-config에 상수를 추가합니다.php
define('WP_ADMIN_DIR', 'secret-folder'); define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);
아래 필터를 함수에 추가합니다.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); }
.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}' );
하기 위해, 「」.htaccess
disclossible을 클릭합니다.
가 한 은 감동뿐이었다./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
'source' 카테고리의 다른 글
WordPress 다중 사이트용 h2o webserver mruby 핸들러는 어떻게 작성합니까? (0) | 2023.03.13 |
---|---|
워드프레스로 이미지 캡션을 가져오는 기능이 있나요? (0) | 2023.03.13 |
html 문자열을 값으로 사용할 수 없습니다. (0) | 2023.03.13 |
큰 각도JS 응용 프로그램 설계 (0) | 2023.03.13 |
map Dispatch To Props란? (0) | 2023.03.13 |