我有一個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