تغییر آدرس صفحه مدیریت وردپرس در چند قدم

نویسنده :
تعداد بازدید :9,327

حتماْ شما هم می خواهید، امنیت سایت وردپرسی خودتون رو ببرید بالا و یا شاید هم بخواهید یک صفحه مدیریت شخصی سازی شده داشته باشید. امروز برای خوانندگان کانال، آموزش تغییر آدرس صفحه مدیریت وردپرس را آماده کرده ایم.برای انجام این کار ممکن هست دو دلیل وجود داشته باشد.

یا اینکه شما قصد دارید تا آدرس صفحه لاگین مدیریت از دید دیگران مخفی بماند تا احتمال هک شدن شما، کاهش پیدا کنه و یا اینکه هدف شما از تغییر آدرس صفحه مدیریت وردپرس، این است که یک محیط کاربری شخصی سازی شده داشته باشید تا کاربر بتواند با نامی مانند login به جای wp-login.php وارد سایت شما شود. اگر شما هم جزء این دو دسته هستید با ما همراه باشید.

مرحله اول شما کد زیر را به wp-confing.php اضافه می کنید.


define('WP_ADMIN_DIR', 'secret-folder');
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);

که در کد بالا آدرس دلخواه شما هست که قرار هست جایگزین wp-admin شود

در مرحله بعد شما باید تیکه کدی را به قسمت توابع پوسته خودتون اضافه کنید تا به وردپرس بگویید آدرس شما به آدرس جدید تغییر کرده است که برای این کار باید از کد زیر استفاده کنید.


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);
 }

add_filter('site_url', 'wplogin_filter', 10, 3);
function wplogin_filter( $url, $path, $orig_scheme )
{
 $old = array( "/(wp-login\.php)/");
 $new = array( "login");
 return preg_replace( $old, $new, $url, 1);
}

توجه داشته باشید که ما دو بار از فیلتر site_url استفاده کردیم، یک بار برای پوشیه مدیریت و دیگر برای wp-login.php

آدرس پوشه مدیریت رو قبلاً در فایل کانفیگ وارد کرده ایم و در اینجا تنها باید مقدار جایگزین برای wp-login.php را قرار دهیم که ما login، قرار داده ایم.

در مرحله بعد شما باید فایل .htaccess خود را تغییر دهید، برای اینکار کد زیر را


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

را بعد از کد زیر قرار دهید


RewriteBase /

توجه کنید در کد فوق secret-folder و login باید با نام هایی که پیشتر انتخاب کردید، عوض شود.

تا به اینجا کار وقتی آدرس های جدید را وارد می کنیم با موفقیت وارد می شویم ولی اگر قصد شما از تغییر آدرس صفحه مدیریت وردپرس ، به دلایل امنیتی بوده پس باید اجازه دسترسی به آدرس های قبلی را هم قطع کنید.


add_action('login_form','redirect_wp_admin');

function redirect_wp_admin(){
 $redirect_to = $_SERVER['REQUEST_URI'];

 $check_wp_login = stristr($redirect_to, 'wp-login.php');
 if($check_wp_login ){
 wp_safe_redirect( '404.php' );
 }

if(count($_REQUEST)> 0 && array_key_exists('redirect_to', $_REQUEST)){
 $redirect_to = $_REQUEST['redirect_to'];
 $check_wp_admin = stristr($redirect_to, 'wp-admin');
 if($check_wp_admin){
 wp_safe_redirect( '404.php' );
 }
 }
}

بدین ترتیب، هنگام اجرا آدرس های قبلی، خطای ۴۰۴ نشان داده می شود.


علاقه ی زیادی به برنامه نویسی و دنیای آی تی دارم. تمام سعی خودم رو می کنم تا در این وب سایت دانش خودم را با دیگر دوستان به اشتراک بگذارم و مطالبی هر چند کوتاه در زمینه فناوری اطلاعات منتشر کنم.
  1. Mohammad-Ali
    پاسخ توسط Mohammad-Ali :

    تشکر از پست خوب.
    به فرض من وردپرسی روی ساب دامین دارم.
    میخوام ادرس لود وردپرس همون ساب باشه،
    اما ادرس نمایش سایت، خود روت باشه…
    برای این مورد باید چه کار کرد؟
    .htaccess باید تغییری بکنه؟

  2. حامد نورهانی
    پاسخ توسط حامد نورهانی :

    سلام

    شما چطور در سیاره وردپرس مطلب ارسال کردید امکان عضویت ندارد.

    بنده تعدادی از افزونه ها را فارسی کردم و نتونستم در قسمت سیاره معرفی کنم

    لطفا راهنمایی بفرمایید

    http://www.itstar.ir

    1. مسعود
      پاسخ توسط مسعود :

      سلام
      سایت هایی که در سیاره وردپرس هستند در گذشته ثبت شده اند و در حال حاضر امکان ثبت سایتی در سیاره وجود ندارد.

  3. محمد
    پاسخ توسط محمد :

    یه چیزی من این رو پیدا کردم
    htaccess
    اما توش خالیه مشکلی نداره که کد
    RewriteBase /
    و بعد از اون
    کد
    RewriteRule ^secret-folder/(.*) wp-admin/$1?%{QUERY_STRING} [L]
    RewriteRule ^login$ wp-login.php

    قرار بدم؟

    1. مسعود
      پاسخ توسط مسعود :


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

      را قرار بدید

  4. محمد
    پاسخ توسط محمد :

    سلام
    ******
    گفتید که
    در مرحله بعد شما باید تیکه کدی را به قسمت توابع پوسته خودتون اضافه کنید تا به وردپرس بگویید آدرس شما به آدرس جدید تغییر کرده است که برای این کار باید از کد زیر استفاده کنید.

    خب اون کد گفته شده رو دقیقا کجا باید بزاریم؟؟؟
    ************
    فایل .htaccess دقیقا تو کجایه هاست قرار داره؟؟؟ / من توی روت پیداش نکردم بعدش دقیقا اون کد رو کجای اون قرار بدم؟؟؟
    //
    ممنون از لطفتون

    1. مسعود
      پاسخ توسط مسعود :

      سلام
      آخر توابع سایت قرار بدید.
      اون یکی هم همونجایی هست که فایل wp-config هست

ارسال نظر

کانال را در گوگل محبوب کنید