htaccess将网站置于维护状态,否认除了我自己的IP之外的所有内容

时间:2013-04-04 17:27:34

标签: .htaccess ip

我想将我的网页置于维护状态,因此我用以下内容替换原来的htaccess文件:

ErrorDocument 403 /maintenance/maintenance.php
order deny,allow
deny from all
allow from 111.222.333.444

在发布之前已经阅读了很多帖子,这是我收集的将是正确的解决方案,但我不能让它工作。如果我不允许使用我自己的IP,我会收到错误500(这意味着我的访问者会看到),如果我使用我的IP,我会得到错误403(我甚至没有到达我的维护页面,这就是我那里也不允许。)

我在这里做错了什么?提前谢谢。

3 个答案:

答案 0 :(得分:6)

找到适合我的解决方案。

RewriteEngine On
RewriteBase /

#ip is not your ip. Change ip to see maintenance page
RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.444$

#requests made not to maintenance.php ... 
RewriteCond %{REQUEST_URI} !^/maintenance\.php$

#rewrite to maintenance.php
RewriteRule ^(.*)$ /maintenance.php [L]

答案 1 :(得分:0)

您发布的.htaccess使用Allow from 127.0.0.1为我工作,但您需要在maintenance目录中添加额外的.htaccess,以便访问maintenance.php错误文档

Order allow,deny
Allow from all

答案 2 :(得分:0)

尝试我的提示,将此代码粘贴到您网站的.htaccess,以便将您网域的所有网页重新映射到/maintenance.html文件,如果观看者的I.P.和你的不一样:

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{REMOTE_ADDR} !^000\.111\.222\.333
RewriteCond ^(.*) /maintenance.html

请注意,必须更改号码000\.111\.222\.333作为您的I.P.地址,并创建一个/maintenance.html文件,您的网页将被重新映射。