Ich habe die Passwort-Resets für alle Benutzer heruntergefahren.
Ich muss nun verhindern, dass /wp-login.php?action=lostpassword
irgendetwas tut, sollte jemand die URL manuell in seinen Browser /wp-login.php?action=lostpassword
.
dh ich möchte nicht, dass das Formular zum Zurücksetzen des Passworts angezeigt wird.
Kann ich die Aktion deaktivieren, die von der URL übergeben wird, oder kann ich /wp-login.php?action=lostpassword
an /wp-login.php
?
Hi Bitte versuchen Sie dies in Ihren functions.php zu verwenden, es wird den Benutzer zum Login-Formular redirect, wenn der Benutzer versucht, auf die verlorene Passwort-Seite zuzugreifen:
add_action('init','possibly_redirect'); function possibly_redirect(){ if (isset( $_GET['action'] )){ if ( in_array( $_GET['action'], array('lostpassword', 'retrievepassword') ) ) { wp_redirect( '/wp-login.php' ); exit; } } }
Oder Bitte folgen Sie den nachstehenden Ansätzen aus dieser Antwort , die hier mit einigen Details beantwortet wurden, die auf den Kommentaren von @Clarus Dignus basieren
function disable_lost_password() { if (isset( $_GET['action'] )){ if ( in_array( $_GET['action'], array('lostpassword', 'retrievepassword') ) ) { wp_redirect( wp_login_url(), 301 ); exit; } } } add_action( "login_init", "disable_lost_password" );
Sie können .htaccess und mod_rewrite verwenden .
Verbotene Antwort:
RewriteCond %{QUERY_STRING} ^action=lostpassword$ [NC] RewriteRule ^wp-login.php$ - [F,NC]
Weiterleiten an wp-login.php:
RewriteCond %{QUERY_STRING} ^action=lostpassword$ [NC] RewriteRule ^wp-login.php$ wp-login.php [R=301,NC,QSD,L]
(für QSD-Flag benötigen Sie Apache 2.4.0+)