方法 1:使用插件
使用插件是最简单的方式,不需要修改代码。
- 安装插件:
- 登录 WordPress 后台,导航到“插件” > “安装插件”。
- 搜索“Restricted Site Access”或“WP Maintenance Mode & Coming Soon”。
- 安装并启用插件:
- 选择合适的插件进行安装和启用。
- 设置插件:
- 启用后,进入插件设置页面,可以设置只允许管理员访问,其他用户访问时会被重定向到特定页面或者显示自定义消息。
方法 2:通过 functions.php
文件添加代码
你可以通过在主题的 functions.php
文件中添加代码,实现只允许管理员访问网站。
- 编辑
functions.php
文件:- 打开 WordPress 主题文件夹,找到
functions.php
文件。 - 在文件末尾添加以下代码:
- 打开 WordPress 主题文件夹,找到
function restrict_site_to_admins() {
if ( !current_user_can('administrator') && !is_admin() ) {
wp_redirect( home_url('/restricted-access') );
exit;
}
}
add_action('template_redirect', 'restrict_site_to_admins');
- 创建一个自定义页面:
- 创建一个新页面,路径为
/restricted-access
,内容可以是“网站仅对管理员开放”等提示信息。
- 创建一个新页面,路径为
- 保存文件:
- 现在,只有登录的管理员可以访问整个网站,其他用户访问时会被重定向到指定页面。
方法 3:使用 .htaccess
进行限制
如果你的服务器使用 Apache,可以通过 .htaccess
文件限制访问。
- 编辑
.htaccess
文件:- 在 WordPress 根目录中找到
.htaccess
文件。 - 添加以下代码:
- 在 WordPress 根目录中找到
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/wp-admin
RewriteCond %{REQUEST_URI} !^/wp-login.php
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000$ # 允许管理员的 IP 地址
RewriteRule ^(.*)$ /restricted-access [R=302,L]
</IfModule>
- 替换 IP 地址:
- 将
123\.456\.789\.000
替换为管理员的真实 IP 地址(可以通过Google搜索“我的IP地址”来获取)。
- 将
- 创建一个自定义页面:
- 创建一个
/restricted-access
页面,显示适合的提示信息。
- 创建一个
方法 4:使用 Nginx 配置
如果你的服务器使用 Nginx,可以通过修改配置文件限制非管理员的访问。
server {
location / {
if ($remote_addr != "123.456.789.000") {
rewrite ^(.*)$ /restricted-access break;
}
}
}
注意:123.456.789.000
应替换为管理员的真实 IP 地址。