0

我设法创建 /login url 以在 /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?

4

2 回答 2

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

于 2017-03-13T22:23:37.960 回答
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;   
}
于 2020-06-01T17:33:22.840 回答