更改 Wordpress Admin URL

2022-08-30 19:53:40

我更改了我的Wordpress目录结构很多。以下是我所拥有的:

define('WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/wordpress');
define('WP_HOME',    'http://' . $_SERVER['SERVER_NAME']);
define('WP_CONTENT_DIR', dirname(__FILE__) . '/content');
define('WP_CONTENT_URL', 'http://' . $_SERVER['SERVER_NAME'] . '/content');

所以我有一个内容目录,其中包含我的插件和主题。然后我有一个wordpress目录,其中包含核心WP文件,减去wp-content文件夹。

有了这个新结构,我必须使用此URL访问WP后端:http://site.dev/wordpress/wp-admin

有没有办法改变它,这样我就可以像这样访问它:http://site.dev/wp-admin

我不希望wordpress出现在URL中。这是我需要做的 htaccess 更新,还是有一个设置可以在我的 wp-config.php 文件中使用?


答案 1

这是来自wordpress网站的一篇文章。

http://wordpress.org/support/topic/how-to-change-the-admin-url-or-wp-admin-to-secure-login

  1. 将常量添加到 wp-config.php

    define('WP_ADMIN_DIR', 'secret-folder');  
    define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);  
    
  2. 将以下筛选器添加到函数中.php

    add_filter('site_url',  'wpadmin_filter', 10, 3);  
    
    function wpadmin_filter( $url, $path, $orig_scheme ) {  
        $old  = array( "/(wp-admin)/");  
        $admin_dir = WP_ADMIN_DIR;  
        $new  = array($admin_dir);  
        return preg_replace( $old, $new, $url, 1);  
    }
    
  3. 将以下行添加到 .htaccess 文件

    RewriteRule ^secret-folder/(.*) wp-admin/$1?%{QUERY_STRING} [L]
    

答案 2

我玩过这个,有一种更简单的方法可以在下面的这个简单函数中完成所有这些操作,而不必使用其他任何东西(创建不必要的文件夹,重定向,页面等)。

// Simple Query String Login page protection
function example_simple_query_string_protection_for_login_page() {

$QS = '?mySecretString=foobar';
$theRequest = 'http://' . $_SERVER['SERVER_NAME'] . '/' . 'wp-login.php' . '?'. $_SERVER['QUERY_STRING'];

// these are for testing
// echo $theRequest . '<br>';
// echo site_url('/wp-login.php').$QS.'<br>';   

    if ( site_url('/wp-login.php').$QS == $theRequest ) {
        echo 'Query string matches';
    } else {
        header( 'Location: http://' . $_SERVER['SERVER_NAME'] . '/' );
    }
}
add_action('login_head', 'example_simple_query_string_protection_for_login_page');

推荐