簡體   English   中英

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

[英]How to programmatically hide the wp-login.php in Wordpress?

我設法創建 /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?

我曾經在我的 .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

你真的不必隱藏它。 只需將訪問重定向到主頁 - 或任何其他頁面。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM