隐藏的wp-admin使用htaccess

时间:2014-11-26 04:09:50

标签: wordpress

我想使用.htaccess文件将wp-admin更改为admin_panel,当访问链接admin_panel时,它会显示wp-admin的内容,但是当访问链接wp-admin时,会发现找不到

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /cms/wp/
RewriteRule ^index\.php$ - [L]
RewriteRule ^admin_panel/(.*) /cms/wp/wp-admin/$1 [QSA,L]
RewriteRule ^wp-admin /cms/wp/nothing_404_404 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /cms/wp/index.php [L]
</IfModule>

# END WordPress

它不起作用,所有url wp-admin或admin_panel结果都找不到。

1 个答案:

答案 0 :(得分:4)

我不知道您为什么只想使用.htaccess文件来完成此操作,但让我告诉您更改管理目录的正确方法。

如果您希望仅使用.htaccess文件进行特定原因,请告诉我,但我不确定是否可以。

步骤:

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

    define('WP_ADMIN_DIR',' admin_panel ');

    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文件

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

  4. 你已经完成了。

    现在,您的管理员网址将如下:http://www.yourdomain.com/ admin_panel /

    希望得到这个帮助。