Ändern Sie die Anmelde-URL ohne Plugin

Ich möchte die Login-URL meiner WordPress-Installation von /wp-admin.php weg ändern

Ich strebe das an und ändere die hinzuzufügende .htaccess-Datei:

RewriteRule ^login$ http://yourdomain.com/wp-login.php [NC, L] 

Aus dem, was ich jedoch erfahre, erlaubt es mir, nach / wp-admin zu gehen, um sich mit diesem Link einzuloggen. Ich habe überlegt, eine Art PHP-Redirect zu machen, so dass der Benutzer, wenn er / wp-admin eingibt, auf die Seite 404 not found geht.

Was ist der beste Weg, um die Login-URL ohne Verwendung eines Plugins und mit den höchsten Sicherheitsstandards zu ändern?

Solutions Collecting From Web of "Ändern Sie die Anmelde-URL ohne Plugin"

Es gibt keinen vernünftigen Grund oder eine Methode, dies “ohne ein Plugin” zu tun, da der Code, der zur Ausführung des Jobs notwendig ist, in einem Plugin enthalten sein sollte.

Rollen Sie nicht Ihren eigenen Code, verwenden Sie ein erprobtes und getestetes Plugin, das speziell für den Job entwickelt wurde. Das ist der sichere Weg.

Sie können diesen Code verwenden:

 add_action('init','custom_login'); function custom_login(){ global $pagenow; if( 'wp-login.php' == $pagenow && $_GET['action']!="logout") { wp_redirect('http://YOURSITE.com/URL'); exit(); } } 

Über das Ändern der Login-URL habe ich bereits von mysel getan. Es hilft mir, meine Website zu schützen und rohe Gewalt zu verhindern. Sie können es in htaccess ändern. Aber Sie müssen auch den Filter hinzufügen, um alte Login-URL in WordPress zu ersetzen. Beispiel zu meiner Website: Datei .htaccess:

 RewriteRule ^signin(.*) wp-login.php?%{QUERY_STRING} 

In Ihrem Design- oder benutzerdefinierten Plugin können Sie den Filter hinzufügen, um sicherzustellen, dass WordPress die korrekte Login-URL anzeigt.

 add_filter( 'login_url', 'my_login_page', 10, 2 ); function my_login_page( $login_url, $redirect ) { return str_replace("wp-login.php","signin",$login_url); } add_action( 'login_form', 'replace_login_submit_form',1); function replace_login_submit_form() { $your_content = ob_get_contents(); $your_content = str_replace("wp-login.php","signin",$your_content); ob_get_clean(); echo $your_content; } 

Hoffe es kann dir helfen!