我目前正在建立一个小型企业网站,并在家庭服务器上托管,由于Wordpress没有遵守我制定的任何规则,我遇到了无法增强安全性的障碍。htaccess。我想最好阻止访问wp登录。php或wp admin来自除我之外的其他IP。所以我使用了我在各地都能找到的代码:
ErrorDocument 401 /path-to-your-site/index.php?error=404
ErrorDocument 403 /path-to-your-site/index.php?error=404
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^IP Address One$
RewriteCond %{REMOTE_ADDR} !^IP Address Two$
RewriteCond %{REMOTE_ADDR} !^IP Address Three$
RewriteRule ^(.*)$ - [R=403,L]
</IfModule>
,但这不起作用,所以我尝试了另一点:# Block access to wp-admin.
order deny,allow
allow from x.x.x.x
deny from all
(请记住,这些都是按照指示放在wp管理员的.htaccess中的,但这不起作用,所以我复制了它并将其放在“html”文件夹中,但都不起作用),但这些都不起作用,所以我认为它一定是与代码有关。所以我决定我可以用密码保护wp登录。带有的php。htpasswd文件不在“html”文件夹中,而这段代码位于这两个文件夹中。htaccess文件:# Protect wp-login
<Files wp-login.php>
AuthUserFile /var/www/.htpasswd
AuthName "Private access"
AuthType Basic
require user insertusernamehere
</Files>
然而,这也不起作用,让我觉得WP甚至没有看到任何规则。这是当前两个中的代码。htaccess文件:
ErrorDocument 401 /var/www/html/wp-content/themes/zerif-lite/index.php?error=404
ErrorDocument 403 /var/www/html/wp-content/themes/zerif-lite/index.php?error=404
#Protect wp-login
<Files wp-login.php>
AuthUserFile /var/www/.htpasswd
AuthName "Private access"
AuthType Basic
require user wpsecure
</Files>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^INSERTMYIPHERE$
RewriteRule ^(.*)$ - [R=403,L]
</IfModule>
(commented)Block access to wp-admin
order deny,allow
allow from INSERTMYIPHERE
deny from all
(commented)BEGIN WordPress
(commented)END WordPress
我已经为此奋斗了几天,几乎没有取得任何进展。我确实看过这个网站:https://www.keycdn.com/support/htaccess-not-working/ 为了查看是否有任何内容,apache“AllowOverride”设置为“None”,但将其更改为“All”没有任何效果。我已经尽力为您提供了尽可能多的信息,但是,如果您需要更多信息,请随时询问我。