我有一个WordPress站点我想阻止访问暂时并添加order deny,allow
到.htaccess文件:“命令拒绝,允许”仅在重写规则后才起作用?
RewriteEngine off
order deny,allow
deny from all
allow from [my ip]
# 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
然而,它没有工作。
我试着将它移动到下面的重写规则:
# 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
RewriteEngine off
order deny,allow
deny from all
allow from [my ip]
,并开始工作。
为什么不在第一个例子中工作?
这到底是什么工作?我尝试了两种方法,并且在阻止访问的情况下都能正常工作。但是,如果在将'RewriteEngine'设置为'on'后设置为'off',则不会发生重写。 – martinczerwi
@martinczerwi在第一个例子中,每个人仍然可以访问该网站。在第二个示例中,除了我自己之外的所有人都被拒绝访问,但正如您所提到的,重写对我无效,所以我无法访问我网站上的大多数页面。 – Nate
您可以删除'RewriteEngine off',作为快速修复程序 – martinczerwi