在 WordPress 中,设置网站只允许管理员查看,而其他游客无法查看

方法 1:使用插件

使用插件是最简单的方式,不需要修改代码。

  1. 安装插件
    • 登录 WordPress 后台,导航到“插件” > “安装插件”。
    • 搜索“Restricted Site Access”或“WP Maintenance Mode & Coming Soon”。
  2. 安装并启用插件
    • 选择合适的插件进行安装和启用。
  3. 设置插件
    • 启用后,进入插件设置页面,可以设置只允许管理员访问,其他用户访问时会被重定向到特定页面或者显示自定义消息。

方法 2:通过 functions.php 文件添加代码

你可以通过在主题的 functions.php 文件中添加代码,实现只允许管理员访问网站。

  1. 编辑 functions.php 文件
    • 打开 WordPress 主题文件夹,找到 functions.php 文件。
    • 在文件末尾添加以下代码:
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');
  1. 创建一个自定义页面
    • 创建一个新页面,路径为 /restricted-access,内容可以是“网站仅对管理员开放”等提示信息。
  2. 保存文件
    • 现在,只有登录的管理员可以访问整个网站,其他用户访问时会被重定向到指定页面。

方法 3:使用 .htaccess 进行限制

如果你的服务器使用 Apache,可以通过 .htaccess 文件限制访问。

  1. 编辑 .htaccess 文件
    • 在 WordPress 根目录中找到 .htaccess 文件。
    • 添加以下代码:
<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>
  1. 替换 IP 地址
    • 123\.456\.789\.000 替换为管理员的真实 IP 地址(可以通过Google搜索“我的IP地址”来获取)。
  2. 创建一个自定义页面
    • 创建一个 /restricted-access 页面,显示适合的提示信息。

方法 4:使用 Nginx 配置

如果你的服务器使用 Nginx,可以通过修改配置文件限制非管理员的访问。

server {
    location / {
        if ($remote_addr != "123.456.789.000") {
            rewrite ^(.*)$ /restricted-access break;
        }
    }
}

注意:123.456.789.000 应替换为管理员的真实 IP 地址。

相关文章

0 0 投票数
文章评分
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论