wordpress - 隐藏 wp-admin 使用 htaccess

标签 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 结果都找不到。

最佳答案

我不知道您为什么尝试仅使用 .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]
    

你就完成了。

现在您的管理 URL 将类似于:http://www.yourdomain.com/ 管理面板/

希望这有帮助。

关于wordpress - 隐藏 wp-admin 使用 htaccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27141168/

相关文章:

用于检测阿拉伯语翻译并选择阿拉伯语样式表的 Javascript 代码

php - sql查询多个or条件-哪一个匹配

mysql - WordPress - 在 phpmyadmin 中为 WordPress 手动更新 mysql 表后,实时帖子​​反射(reflect)了更改,但帖子编辑器没有反射(reflect)

wordpress - Woocommerce SEO -- Noindex 'Order by' 存档

javascript - WordPress 中的 anchor 链接

Wordpress Docker 不会增加上传限制

mysql - 我需要从 3 个分类法(个人资料类别、县、部门)获取帖子数据

html - 模态高度和宽度调整

wordpress - docker 没有解压缩我的文件

php - 为什么 Wordpress 的 'save_post_{$post->post_type}' Action 钩子(Hook)没有传递正确数量的参数?