WordPress 默认管理登录地址是 /wp-login.php 或者只需输入/wp-admin/ 这个很容易暴力破解,所以修改下默认管理地址还是很有必要!
方法1: 通过修改wp-login.php和general-template.php
找到网站根目录下的wp-login.php,先将wp-login.php重命名,命名为你喜欢的名字,不要修改后缀名。这里我将他命名为abc.php,打开并编辑文件abc.php替换代码中所有 wp-login.php为abc.php保存文件。
此时后台管理地址为:https://23986.com/abc.php
编辑站点根目录下的/wp-includes/general-template.php
,同样是用替换,将所有的wp-login.php
替换为你修改的文件名,我这里就更换为abc.php
下一步还是这个文件,搜索$login_url = site_url
这个变量,查看第一个结果,你会看到以下内容
function wp_login_url( $redirect = '', $force_reauth = false ) {
$login_url = site_url( '你修改的名字.php', 'login' );
将这里
你修改的名字.php
修改成你希望用户访问wp-admin的时候跳转到哪,建议设置成index.php
也可以保持原来的wp-login.php
,但是不能不改,不然无法访问,修改完成,此时请访问你修改后的文件进行登录!方法2: 修改function.php文件
登陆WordPress后台管理,在左侧找到外观-主题编辑器,然后在右侧找到functions.php,在functions.php中添加以下代码:
//修改后台管理地址
function login_protection(){
if($_GET['hello'] != '333')header('Location: https://23986.com/');
}
add_action('login_enqueue_scripts','login_protection');
这样只有访问 https://23986.com/wp-login.php?hello=333,才会打开登录页,否则就会自动跳转到首页。应用的时候请将代码中的’hello’、’333’、https://23986.com/ 这三个位置换成自己的内容。此方法可能与某些插件冲突不生效。
方法3: 修改.htaccess文件
首先将wp-admin目录改名,比如改成ad-wp,然后在.htaccess里加上如下内容:
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} wp-admin/ RewriteCond %{QUERY_STRING} !
这里来个复杂字符串(数字英文横杠下划线组成)
RewriteRule .*.php [F,L] RewriteCond %{QUERY_STRING} !
与上面的那个密码相同
RewriteRule ^dawa/(.*) wp-admin/$1?%{QUERY_STRING}&
与上面的那个密码相同
这个.htaccess实现了URL的重写,禁止访问wp-admin下的所有.php文件,访问/ad-wp 的话会直接替换成/wp-admin下的对应文件。也就是说访问/ad-wp与访问wp-admin的结果是一样的,但是访问wp-admin则行不通。
更名完成,但是会有一些问题需要修改部分文件。因为wp-admin被禁止访问,而部分功能还直接调用wp-admin的.php文件。这导致上传功能将不能使用;自动保存,自定义字段都无法使用。
2.下面要做的就是修改几个重要文件,重新恢复这些功能:查找
wp-admin/includes/media.php
wp-includes/script-loader.php
wp-includes/link-template.php
三个文件中所有的wp-admin,换成ad-wp
这样edit链接与comments编辑链接将继续有效。
如果用了wp-cache缓存插件,要将你的新目录名添加到缓存过滤规则里,不然后台有的地方生成静态会很麻烦