我正在尝试使用.htaccess控制对Wordpress login.php页面的访问,以通过IP地址限制访问。我正在使用下面的代码,它在http上工作得很好,但是如果我试图通过https访问页面,我得到一个404not fine错误。(将实际IP替换为X)。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^x\.x\.x\.x$
RewriteCond %{REMOTE_ADDR} !^x\.x\.x\.x$
RewriteRule ^(.*)$ - [R=404,L]
</IfModule>如果我删除重写规则,我可以通过https访问页面,但它不再限制IP访问。我想也强制在登录页面上的https,但无法这样做,因为它将返回404未找到错误时,试图访问它。有没有人知道是什么原因导致了这个问题?
发布于 2014-03-08 08:59:26
您好,它更容易使用php
<?php
$wl = array('111.111.111.111', '111.111.111.112');
if (in_array($_SERVER['REMOTE_ADDR'], $wl)) {
/* the login page php code goes here */
} else {
/* Access denied page or what ever goes here */
echo 'Access denied.';
echo "<br />IP Address: ".$_SERVER['REMOTE_ADDR'];
exit;
}
?>https://stackoverflow.com/questions/22263484
复制相似问题