如何以编程方式隐藏Wordpress中的wp-login.php?

时间:2017-03-13 22:18:54

标签: php wordpress login-script wordpress-login

我设法创建/ login网址以在/wp-login.php页面重定向我

在我的.httacces中,我有以下代码

RewriteRule ^login$ wp-login.php [NC,L]

在functions.php中(在我的自定义主题中)我添加了这个

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

问题是如何禁止访问wp-login.php页面而不禁用它。使用上面的解决方案,两个url都是可见/ login和/wp-login.php

如何在不使用插件的情况下永久“隐藏”wp-login.php?

2 个答案:

答案 0 :(得分:0)

我曾在我的.httaccess文件中使用过它。

<强>代码:

<Files "whatever.php">
require all denied
require host localhost
require ip 127.0.0.1
require ip xxx.yyy.zzz.aaa
</Files>

这可以防止任何外部进入whatever.php

答案 1 :(得分:0)

您实际上不必隐藏它。只需将访问重定向到主页-或其他任何页面。

add_filter( 'login_url', 'my_redirect_login', 10, 3 );
function my_redirect_login(){
    if ($_SERVER['REQUEST_URI']!='/wp-login.php') return;
    header( 'Location: '.home_url(null, 'https') );
    exit;   
}