2015-06-04 168 views
1

联系,我想重定向example.com/wp-admin到我的索引,使WP-管理员访问虽然像example.com/adminWordPress的隐藏可湿性粉剂管理员与Nginx的

apache但切换到nginx的,我不知道如何做到这一点后,这样做?

有没有办法做到这一点不改变任何WordPress的文件,但改变nginx的配置?
还需要访问example.com/wp-admin/index.phpexample.com/admin/index.phpexample.com/wp-admin/posts.phpexample.com/admin/posts.php等。

+0

在我看来,如果你使用的插件,比它在你的WordPress会发现安全漏洞。 – Deep

+0

是的,我也试图做 –

回答

0

你的意思是改变可湿性粉剂管理员的网址。然后你可以使用下面提到的插件 Wordpress Link

安装插件后在settings-> Permalink我们可以改变WP-admin页面slug为我们需要的东西。

+0

在这里添加一些细节。链接将在一段时间后消失 –

+0

安装插件后在设置 - >永久链接,我们可以将WP-admin页面slug更改为我们需要的内容。 –

+0

在你的回答中更新 –

0

在我看来,如果你使用的插件,比它在你的WordPress会发现安全漏洞。

您可以使用下列步骤来创建自己的登录要么管理员的网址或其他如下:

1)添加常数wp-confing.php

define('WP_ADMIN_DIR', 'secret-folder'); 
define('ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR); 

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

3)添加下面一行的.htaccess文件,如果你使用的是Apache

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

编辑Nginx的虚拟主机文件,并将以下内容:

location ~* /admin/ { 
    rewrite ^/admin/(.*) /wp-admin/$1 last; 
} 

做... !!!

现在,您的管理URL会像:http://www.yourdomain.com/secret-folder/

和下面的代码将限制网址:site.com/wp-admin

add_action('login_form','redirect_wp_admin'); 

function redirect_wp_admin(){ 
    $redirect_to = $_SERVER['REQUEST_URI']; 

    if(count($_REQUEST)> 0 && array_key_exists('redirect_to', $_REQUEST)){ 
    $redirect_to = $_REQUEST['redirect_to']; 
    $check_wp_admin = stristr($redirect_to, 'wp-admin'); 
    if($check_wp_admin){ 
     wp_safe_redirect('404.php'); 
    } 
    } 
} 

编辑: 编辑Nginx的虚拟主机文件和放置以下:

location ~* /admin/ { 
    rewrite ^/admin/(.*) /wp-admin/$1 last; 
} 

在情况下,如果你想从index.php文件重定向URL要重新管理

server { 
    index index.php; 

    if ($request_uri ~* "^(.*/)index\.php$") { 
    return 301 $1; 
    } 

    location = /admin/index.php { 
    return 301 $scheme://www.example.com/admin/; 
    } 
} 

这样做的另一个好处是nginx返回比重写更快。

+0

当我使用'Appache'的时候有效,但现在我搬到了'NGINX'。那现在不行了。 –

+0

首选的方法是使用NO IF-STMTS:尝试使用#登录快捷方式 location〜*/login/{ rewrite ^/login /(.*)? /可湿性粉剂管理员/ $ 1; } – Deep

+0

它已经被应用。它仅适用于输入'example.com/admin /'。没有其他人喜欢,如果我们输入'example.com/admin/index.php',它返回“未找到” –

相关问题