之前我们引见过如何将WordPress装置到子目录并提到过WP Super Cache的CDN面板下Off-site URL选项能够设置URL重写,假如我们的网站并非装置在网站根目录而是装置在子目录,这个URL重写也能够协助我们有效躲藏WordPress装置目录的文件夹名,防止某些闲得无聊的人经过查看源代码晓得网站文件的位置,进而对我们的网站停止暴力破解。
固然重写后的URL躲藏了我们网站文件的途径,但是这种躲藏方式关于访客直接经过“域名+wp-admin”的方式直接访问WordPress默许登录窗口是无效的,比方说:我将WordPress的一切程序放在了网站根目录下的一个名为wordpress的文件夹下,假如我仅仅运用了WP Super Cache的CDN功用重写了资源的URL,当我访问“blog.quietguoguo.com/wp-admin”时,网页会自动跳转到“blog.quietguoguo.com/wordpress/wp-admin”下,这样WordPress的默许登录界面就会暴显露来,而我的管理途径也会暴显露来,这样无疑是不平安的,那么该如何躲藏网站的管理途径呢?下面就将我从网上搜集并整理的办法分享给大家。
修正wp-config.php文件
首先,在更改WordPress管理途径之前我们需求先想出一个新的途径称号用来交换“/wp-admin/”,比方我这里运用的“/My-admin/”;然后我们需求在WordPress的配置文件wp-config.php中增加一些常量,详细代码如下:
//WordPress躲藏管理途径 define('WP_ADMIN_DIR','My-admin'); define('ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);
更改完wp-config.php之后,我们需求修正一下主题文件夹下的functions.php文件,由于各个主题的functions文件命名不一样,大家能够依据本人主题选择相应的文件。在functions.php中添加一个filter,详细代码如下:
//WordPress躲藏管理途径 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); }
修正Rewrite规则
修正完以上内容后我们需求修正下网站的Rewrite规则来将WordPress的管理途径由”/wp-admin/”重定向到我们新的管理途径”/My-admin/”上去。
Apache用户需求在WordPress装置目录下的.htaccess文件中添加如下代码:
RewriteRule ^My-admin/(.*) wp-admin/$1?%{QUERY_STRING} [L]
Nginx用户需求在virtual host文件中添加如下代码:
location ~* /My-admin/ { rewrite ^/My-admin/(.*) /wp-admin/$1 last; }
好了,假如不出不测的话,停止到这里你的网站应该就能够经过“域名+/My-admin/“来访问WordPress默许的登陆页面进而管理网站后台了。假如你将WordPress装置到了子目录中,则访问途径为”域名+/WordPress装置目录/My-admin/”。
留意:假如你在上面Rewrite规则中自定义的途径名“My-admin”后面添加了“/”则访问时必需带上“/”;假如“My-admin”后没有带上“/”,则访问“My-admin”与“My-admin/”是一样的。而且有一个小问题是假如你访问的途径后面没有“/”当你进入后台选择其他选项时会报错,而假如My-admin后面有“/”时不会报错。
这个问标题前我还没想到好的方法处理,权且留待日后补充吧。
重定向wp-admin
修正完上述内容后我们能够经过新的访问途径管理后台,但是你会发现原有的wp-admin途径照旧起作用,这显然不是我们所希望的,下面我们就经过代码来将默许的管理途径重定向到一个其他的页面。值得留意的是,这次我们需求将代码添加到我们所运用主题的functions.php中去。
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.html' ); } } }
当然,这里你能够把重定向的“404.html”换成其它静态文件。这个404.html的文件应当是放在你WordPress的装置文件夹下的。
好了,详细的内容就这些。
感谢您的来访,获取更多精彩文章请收藏本站。
![](https://www.gyzsq.com/wp-content/uploads/2022/07/9259adea4619.gif)
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
![头像](/wp-content/themes/zibll/img/avatar-default.png)
- 最新
- 最热
只看作者