Как изменить URL административной панели WordPress (+видео)
Доброго времени суток. Как вы знаете административная панель сайта WordPress находится по адресу /wp-admin. Это не всегда удобно, но главное не безопасно. В этой статье мы изменим URL для входа в административную панель WordPress
Итак, приступим. На момент написания данной статьи актуальная версия WordPress 4.6.1. Но в принципе большой разницы нет.
Стандартный URL админ панели WordPress
Не для кого не секрет, что стандартный адрес административной панели WordPress: <название сайта>/wp-admin
Давайте поменяем URL админ панели, например, на qwerty.
Изменяем URL административной панели WordPress
Первое, что нужно сделать – это добавить в начало файла wp-config.php следующий код:
<?php define('WP_ADMIN_DIR', 'qwerty'); define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR); …
Более подробно почитать о wp-config.php и что с помощью данного файла можно сделать можно в статье «Как настроить WordPress, используя файл конфигурации wp-config»
Следующим шагом нам надо в конец файла wp-includes/functions.php добавить фильтр
… /* изменим wp-admin на WP_ADMIN_DIR */ 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 прописать преобразование, т.е. мы будем получать /qwerty/<что-то>, а преобразовывать в /wp-admin/<что-то>. Находим строку
RewriteEngine On
И после нее вставляем следующий директиву:
RewriteRule ^qwerty/(.*) wp-admin/$1?%{QUERY_STRING} [L]
Отлично, можно проверить. Давайте зайдем в админ панель WordPress по адресу /qwerty и авторизуемся:
Отлично, мы добились того, чего хотели. Но у нас проблема: в админ панель мы можем зайти как по адресу /qwerty (что мы и сделали выше), так и по адресу wp-admin.
Закрыть адрес wp-admin в WordPress
Нам необходимо сделать так, чтобы заходя на адрес wp-admin/<что-то> нас перенаправляло на 404 страницу, т.е. страница не найдена.
Для этого в конец файла wp-includes/functions.php следующий фильтр:
/*wp-admin, ошибка 404*/ add_action( 'init', 'block_wp_admin' ); function block_wp_admin() { if(strpos($_SERVER['REQUEST_URI'],'wp-admin') != false){ wp_redirect( home_url().'/404' ); exit; } }
Проверяем. Переходим по адресу /wp-admin
Вот теперь все.
Заключение
Мы с вами рассмотрели, как можно поменять URL для админки WordPress, и закрыли (а точнее сделали редирект), если в адресе присутствует «wp-admin»
Не забываем подписаться, чтобы не пропустить выхода новых статей: VK, Facebook, Twitter
И в качестве дополнения видео:
Есть такая же возможность перенести админку на сабдомен?
Не знаю, таким вопросом не задавался. Если найдете ответ отпишите. Тоже очень интересно.
https://thecustomizewindows.com/2013/11/move-wordpress-administration-to-different-server-or-sub-domain/
вот решение нашел
О, интересно. Почитаю на досуге. Спасибо.
ваш способ не работает. жалуется на define( ‘ADMIN_COOKIE_PATH’, SITECOOKIEPATH . WP_ADMIN_DIR);
версия wp 4.9.2
Всё работает! Большое спасибо!