Jak změnit URL pro přihlášení do administrace bez pluginu

Výchozí adresa pro přihlášení do administrace WordPressu je standardně ve tvaru httpS://mojedomena.tld/wp-admin/ nebo wp-login.php.

Někdy se může hodit změnit adresu pro přihlašování do administrace WordPressu. Jedním z hlavních důvodů jsou útoky od robotů (ty na našem hostingu filtrujeme) nebo customizace pro zákazníky.
Změna se dá udělat několika způsoby. Buď použít plugin či přidat potřebné funkce pomocí editoru nebo FTPs/sFTP přístupu na server.

Současně je třeba zakázat původní možnost přihlašování pomocí tvaru /wp-admin/ a wp-login.php.

Změníme adresu do administrace např. na https://mojedomena.tld/spravawp  (změnu na jiný tvar provedete jednoduchou záměnou).

1.) Do souboru  .htaccess přidáme kód s výslednou podobou:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# přidat následující dva řádky:
  RewriteRule ^spravawp/(.*) wp-admin/$1?%{QUERY_STRING} [L]
  RewriteRule ^spravawp$ wp-login.php
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

2.) Do souboru wp-config.php přidáme kód:

define( 'WP_ADMIN_DIR','spravawp');
define('ADMIN_COOKIE_PATH','/');

3.) A do souboru functions.php,který najdete v wp-content/themes/NAZEVSABLONY/ přidáme kód:

if (strpos($_SERVER['REQUEST_URI'], 'wp-admin') !== false || strpos($_SERVER['REQUEST_URI'], 'wp-login') !== false || strpos($_SERVER['REQUEST_URI'], 'admin') !== false || strpos($_SERVER['REQUEST_URI'], 'login') !== false) {
  header("HTTP/1.1 301 Moved Permanently");
  header('Location: /'); die();    // přesměrujeme na web
  # wp_safe_redirect( '404.php' ); // nebo zobrazíme chybovou stránku 404
}
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_action('login_form','redirect_wp_admin');
function redirect_wp_admin(){
  $redirect_to = $_SERVER['REQUEST_URI'];
  if(count($_REQUEST)> 0 && array_key_exists('redirect_to', $_REQUEST)) {
  $redirect_to = $_REQUEST['redirect_to'];
  }
}

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

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

A hotovo. Kód si můžete přizpůsobit dle libosti :).

A nyní se přihlásíme pod adresou https://mojedomena.tld/spravawp (bez lomítka na konec adresy).

 

I jednoduché věci se dají řešit bez pluginu.

Související články

Přesun databázového serveru mariadb-wp1

24.08.2021 [ Pavel Urbánek ]

Poslední server, který je třeba přesunout do nového datacentra je databázový server mariadb-wp1. Jeho přesun jsme naplánovali na 28.8.2021 v ranních hodinách. Práce budou probíhat v čase  01-03 hod.. Přesun...

Stěhování serverů z DC1 do DC2

16.08.2021 [ Pavel Urbánek ]

V návaznosti na stěhování našich serverů z datacentra v TTC DC1 do TTC DC2 postupujeme do poslední fáze stěhování serverů, na kterých jsou poskytovány služby WP Hosting. Stěhování serverů budeme...

Další novinky