1

我想将我的网页进行维护,因此我将原来的 htaccess 文件替换为:

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

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

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

4

3 回答 3

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]
于 2013-04-04T18:02:13.460 回答
0

您发布的 .htaccess 对我有效Allow from 127.0.0.1,但您需要在maintenance目录中添加一个 .htaccess,以允许访问maintenance.php错误文档

Order allow,deny
Allow from all
于 2013-04-04T18:03:34.647 回答
0

试试我的提示,将此代码粘贴到.htaccess您的站点中,以使您域的所有页面重新映射到/maintenance.html文件中,如果查看者的 IP 与您的不同:

Options +FollowSymlinks
RewriteEngine on

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

请注意,数字000\.111\.222\.333必须更改为您的 IP 地址,并创建一个/maintenance.html文件,您的页面将在其中重新映射。

于 2013-04-04T18:10:15.743 回答