更改Wordpress管理员URL

Dre*_*rew 12 php url wordpress .htaccess redirect

我改变了我的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');
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

jbr*_*ahy 19

这是来自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);  
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将以下过滤器添加到functions.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);  
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将以下行添加到.htaccess文件中

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

  • 如果要将用户从默认的管理员URL转发到新的管理员URL,更改管理员URL有什么意义?如果您在上面的步骤2中使用该功能,则通过切换默认的管理URL来提高安全性的全部要点已消失。 (2认同)
  • 当我回答 OP 时,你为什么要贬低我?我刚刚引用了 Wordpress 网站上的文章。 (2认同)
  • @StellanLindell可能不仅仅涉及安全性,也许我想使用“ admin”而不是“ wp-admin”,因为客户端希望我这样做。“ jbrahy”是正确的,他回答正确。 (2认同)

小智 5

我尝试过这个,有一种更简单的方法可以在下面这个简单的函数中完成这一切,而不必搞乱其他任何东西(创建不必要的文件夹、重定向、页面等)。

// 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');
Run Code Online (Sandbox Code Playgroud)