Wordpress ..如何将站点限制为IP或登录

我正在尝试创建公司的Intranet网站。我不想为该站点创建大量用户,而是希望仅允许访问(如果您使用IP或不在站点上,则必须登录)。这会将用户范围缩小到仅在家中工作的用户等。 如果您与登录的IP地址或数字数组不匹配,我希望使用重定向到身份验证页面。 我不希望使用插件。

  function intranet( ) {
    $whitelist = array('192.168.0.1',192.168.0.2);
      if ( ! is_user_logged_in() || !in_array($_SERVER['REMOTE_ADDR'],$whitelist) ) {
            auth_redirect();
    }
}

但是它似乎不起作用。 我已经阅读了有关使用.htaccess的建议,但这将限制整个站点使用IP

deny from all
allow from 98.6.000.111

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

据我所知,这种方法不会让我通过登录选项从外部访问该站点。 任何帮助表示赞赏 谢谢。

mlt9966 回答:Wordpress ..如何将站点限制为IP或登录

简单,您可以使用此WordPress插件restricted-site-access

此插件“仅限于通过一组指定的IP地址登录或访问该网站的访问者来访问您的网站”。

,

嗯,我已经处理好了。我不知道这与我的开头问题有何不同,但仍然有效。

<VirtualHost xxx.xxx.xxx.xxx:80>
    ServerAdmin webmaster@mydomain.com
    DocumentRoot "E:/"
    ServerName xxx.xxx.xxx.xxx
    ServerAlias www.xxx.xxx.xxx.xxx
    ErrorLog "logs/mydomain.com-error.log"
    CustomLog "logs/mydomain.com-access.log" common
</VirtualHost>

<VirtualHost subdomain1.mydomain.com:80>
    ServerAdmin webmaster@mydomain.com
    DocumentRoot "E:/subdomain1"
    ServerName subdomain1.mydomain.com
    ServerAlias www.subdomain1.mydomain.com
    ErrorLog "logs/subdomain1.mydomain.com-error.log"
    CustomLog "logs/subdomain1.mydomain.com-access.log" common
    <Directory  "E:/subdomain1">
        Options All
        AllowOverride All
        Require all granted  
    </Directory>
</VirtualHost>

<VirtualHost subdomain2.mydomain.com:80>
    ServerAdmin webmaster@mydomain.com
    DocumentRoot "E:/subdomain2"
    ServerName subdomain2.mydomain.com
    ServerAlias www.subdomain2.mydomain.com
    ErrorLog "logs/subdomain2.mydomain.com-error.log"
    CustomLog "logs/subdomain2.mydomain.com-access.log" common
    <Directory  "E:/subdomain2">
        Options All
        AllowOverride All
        Require all granted  
    </Directory>
</VirtualHost>

<VirtualHost subdomain3.mydomain.com:80>
    ServerAdmin webmaster@mydomain.com
    DocumentRoot "E:/subdomain3"
    ServerName subdomain3.mydomain.com
    ServerAlias www.subdomain3.mydomain.com
    ErrorLog "logs/subdomain3.mydomain.com-error.log"
    CustomLog "logs/subdomain3.mydomain.com-access.log" common
    <Directory  "E:/subdomain3">
        Options All
        AllowOverride All
        Require all granted  
    </Directory>
</VirtualHost>

希望这对其他人有帮助。

本文链接:https://www.f2er.com/3111019.html

大家都在问