最简单的方法 - 返回 503 服务不可用错误
这是最推荐的方法,因为它会向搜索引擎(如 Google、Bing)和访客明确表示你的网站正在“维护中”或“暂时不可用”,而不是永久关闭,这有助于保护你的 SEO 排名。

操作步骤:
-
找到
.htaccess文件: 这个文件通常位于你的网站根目录(public_html或www),如果看不到它,请确保你的 FTP 客户端或文件管理器设置为显示隐藏文件。 -
编辑
.htaccess文件: 在文件的最顶部,添加以下代码:# Maintenance Mode ErrorDocument 503 /maintenance.html RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC] RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000 RewriteRule .* - [R=503,L] -
创建维护页面: 在你的网站根目录下,创建一个名为
maintenance.html的文件,这个文件是你向访客展示的维护提示页面,你可以自定义它的内容,<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>网站维护中</title> <style> body { font-family: Arial, sans-serif; text-align: center; padding-top: 50px; } h1 { color: #333; } p { color: #666; } </style> </head> <body> <h1>网站正在维护升级</h1> <p>我们正在进行系统维护,预计很快恢复,给您带来的不便,敬请谅解!</p> </body> </html> -
(可选)设置白名单: 代码中的
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000这一行非常重要,它允许指定 IP 地址(请将456.789.000替换为你自己的公网 IP 地址)正常访问网站,这样,你就可以在维护时继续登录网站后台进行操作,而不会被重定向到维护页面。
(图片来源网络,侵删) -
保存并上传: 保存修改后的
.htaccess文件和新建的maintenance.html文件,然后上传到你的服务器。
代码解释:
ErrorDocument 503 /maintenance.html:告诉服务器,当发生 503 错误时,向用户显示maintenance.html这个页面。RewriteEngine on:开启 URL 重写引擎。RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]:条件,如果请求的 URI 不是maintenance.html文件本身(防止访问维护页面时被无限重定向),则执行下一步。RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000:条件,如果访问者的 IP 地址不是你指定的白名单 IP,则执行下一步。RewriteRule .* - [R=503,L]:规则,对于所有符合以上条件的请求,返回一个 503 状态码,并立即停止处理后续的规则(L标志)。
直接显示维护页面(不返回 503 错误)
如果你不关心 SEO,只是想快速让用户看到一个静态的提示页面,可以使用这个更简单的方法。
操作步骤:
在 .htaccess 文件的开头添加以下代码:
# Simple Maintenance Page
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
RewriteRule .* /maintenance.html [L]
这个代码的逻辑是:除了 maintenance.html 本身,所有其他请求都会被重定向到 maintenance.html 页面,这种方法简单直接,但不会返回 503 状态码。

关闭网站并显示特定 HTML 文件
这个方法与方法二类似,但更明确地使用 ErrorDocument。
操作步骤:
在 .htaccess 文件的开头添加以下代码:
# Display a static HTML page for all errors ErrorDocument 403 /maintenance.html ErrorDocument 404 /maintenance.html ErrorDocument 500 /maintenance.html # 阻止所有访问 Order allow,deny Deny from all
注意:这个方法非常“强硬”,它会阻止所有访问,包括搜索引擎的爬虫,除非你确定要永久关闭网站,否则不推荐使用。Deny from all 会直接拒绝所有请求。
如何恢复网站?
当你完成维护工作后,只需要将之前添加到 .htaccess 文件中的代码删除或注释掉即可。
注释方法:在每一行代码前面加上 号。
# Maintenance Mode
# ErrorDocument 503 /maintenance.html
# RewriteEngine on
# RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
# RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
# RewriteRule .* - [R=503,L]
保存文件后,网站就会恢复正常访问。
总结与推荐
| 方法 | 优点 | 缺点 | 推荐场景 |
|---|---|---|---|
| 方法一 (503 错误) | 专业,保护 SEO,支持 IP 白名单 | 稍微复杂一点 | 所有维护场景的首选 |
| 方法二 (直接重定向) | 简单易用 | 不返回 503,对 SEO 不友好 | 临时快速关闭,不关心 SEO |
| 方法三 (全面禁止) | 彻底关闭网站 | 对 SEO 伤害大,无白名单机制 | 确定要永久关闭网站时使用 |
对于绝大多数情况,强烈推荐使用方法一,它是最专业、最安全、对搜索引擎最友好的方式。
