在没有插件的情况下更改登录URL

时间:2014-09-03 作者:Travis Patron

我想从/wp admin更改Wordpress安装的登录url。php

我的目标是这样做,并希望改变。要加载项的htaccess文件:

RewriteRule ^login$ http://yourdomain.com/wp-login.php [NC, L]
然而,据我所知,转到/wp admin仍然允许用户使用该链接登录。我在考虑做一些PHP重定向,这样当用户键入/wp admin时,它就会转到404未找到页面。

在不使用插件和最高安全标准的情况下更改登录URL的最佳方法是什么?

6 个回复
SO网友:Huy Nguyen

关于更改登录url,mysel已经做了。它帮助我保护我的网站,防止暴力。你可以在htaccess中更改它。但您还需要添加过滤器来替换wordpress中的旧登录url。我的网站示例:文件。htaccess:


RewriteRule ^signin(.*) wp-login.php?%{QUERY_STRING}
在您的主题或自定义插件中,您可以添加过滤器以确保wordpress显示正确的登录url。


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;
}
希望它能帮助你!

SO网友:Otto

“没有插件”就没有理智的理由或方法可以做到这一点,因为完成这项工作所需的代码应该包含在插件中。

不要使用自己的代码,使用一个经过测试的插件,它是专门为这项工作设计的。这是安全的方法。

SO网友:Gaurav Mishra

这可以通过创建一个与现有wp登录名类似的全新文件来实现。php文件。需要遵循的步骤:

建议:备份wp admin。php文件,然后按照以下说明操作。

打开wordpress安装位置,如果是root,只需查找名为wp login的文件即可。php现在,创建一个新的php文件,并将其命名为新的登录url,也就是说,如果您想将您的登录url命名为www.yoursite。com/iamgaurav代替www.yoursite。com/wp admin,因此创建名为:iamgaurav的新文件。php现在复制现有wp登录的所有代码。php文件(&P);将其粘贴到新文件iamgaurav中。php将wp登录的所有现有实例更改为iamgaurav(通过任何编辑器进行批量替换都很容易)

  • 现在保存此文件并删除原始wp登录。来自根目录的php文件
  • 您完成了。清除缓存并使用新url检查登录:www.yoursite。com/iamgaurav

    如果有人试图登录www.yoursite,您将收到404错误。com/wp管理员

    希望有帮助。

    谢谢

    SO网友:Mohammad Ayoub Khan

    在函数中添加此代码。php之后,您将无法访问您的页面https://www.thebetacoders.com/wp-admin
    现在您可以访问您的页面https://www.thebetacoders.com/wp-login.php?customtext


    更改$new_login 根据您的需要进行变量设置。

    <?php
    
    function redirect_to_nonexistent_page()
    {
    
      $new_login =  \'customtext\';
      if (strpos($_SERVER[\'REQUEST_URI\'], $new_login) === false) {
        wp_safe_redirect(home_url(\'NonExistentPage\'), 302);
        exit();
      }
    }
    add_action(\'login_head\', \'redirect_to_nonexistent_page\');
    
    function redirect_to_actual_login()
    {
    
      $new_login =  \'customtext\';
      if (parse_url($_SERVER[\'REQUEST_URI\'], PHP_URL_QUERY) == $new_login && ($_GET[\'redirect\'] !== false)) {
        wp_safe_redirect(home_url("wp-login.php?$new_login&redirect=false"));
        exit();
      }
    }
    add_action(\'init\', \'redirect_to_actual_login\');
    

    SO网友:Den Pat

    不知道为什么有人不使用标准的WordPress方式来做这件事。

    add_filter( \'login_url\', \'my_login_page\', 10, 3 );
    function my_login_page( $login_url, $redirect, $force_reauth ) {
        return home_url( \'/my-login-page/?redirect_to=\' . $redirect );
    }
    
    以下示例将返回登录URLhttp://example.com/my-login-page/ 对于wp\\u login\\u url()函数:

    复制自以下示例:https://developer.wordpress.org/reference/hooks/login_url/

    SO网友:mcostales84

    您可以使用以下代码:

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

    结束

    相关推荐

    使用.htaccess重定向WordPress中的URL模式

    我是WordPress的新手,刚从博主变成WordPress。正如你所知,博客的URL与WordPress的URL差别太大,所以在迁移之后,我开始在Google WebMaster中收到404错误,因为它仍然在爬行我的旧链接,因为根据Google WebMaster的说法,我有大约10lac的反向链接。所以现在有人对我说要用。htaccess让谷歌将404错误URL爬网到你的新WordPress URL,所以我继续前进,但当我看到我有900多篇文章时,这意味着浪费了宝贵的时间。现在我正在考虑使用模式重定向