2015-09-28 45 views
2

因为技术原因和测试我的PHP网站上的新功能我想暂时禁止访问常见用户访问网站,并显示如'网站正在维护'禁止所有访问者访问网站临时除外我自己

但是我希望能够访问所有页面,并且我有正常用法。
我该如何用htaccess,php代码或其他方法做到这一点?

+0

只允许您的ipaddress访问该页面。例如$ ip = $ _SERVER ['REMOTE_ADDR']; if($ ip!=“yourip”){echo“Site is Under Maintenance”;} – jewelhuq

回答

4

,你会发现这里回答:

Deny all, allow only one IP through htaccess

,或者您可以通过PHP也做到这一点:

,如果你自己的IP是:10.233.34.12

if($_SERVER['SERVER_ADDR'] != '10.233.34.12'){ 
    header("Location: http://example.com/siteUnderMaintenance.php"); 
die(); 
} 
2

只允许你的IP。尽量把它放在你的.htaccess

order deny,allow 
deny from all 
allow from 111.222.333.444 

或者你可以使用

RewriteEngine On 
RewriteBase/
RewriteCond %{REMOTE_ADDR} !^111\.111\.111\.111 
RewriteCond %{REQUEST_URI} !^/maintenance\.html$ 
RewriteRule ^(.*)$ http://domain.com/maintenance.html [R=307,L] 

上面的代码将所有用户maintenance.html除了那些指定的IP。

+0

如果OP有apache 2.4或更高版本? – hjpotter92

+0

如何在此方法中显示消息或将用户重定向到施工页面? –

+0

@ahmad,被阻止的访问者将显示'403 Forbidden'错误消息。您可以通过更新“错误文档”来自定义此错误消息。 'ErrorDocument 403/error_pages/403.html' –

3
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1 //your IP 
RewriteCond %{REMOTE_ADDR} !^1\.11\.11\.111 //your server IP 
RewriteCond %{REQUEST_URI} !^/soon\.html$ 
RewriteCond %{REQUEST_URI} !^/logo\.jpg$ 
RewriteRule ^(.*)$ /soon.htm [R=301,L] 

.htaccess中使用

相关问题