对任何请求显示相同的维护页面

对任何请求显示相同的维护页面

我制作了一个静态的“网站维护中”页面。我希望,对于特定的虚拟主机,该页面会针对任何 URL 请求显示。如果我将虚拟主机切换到包含该页面的目录,对 index.html 的请求将到达该页面,但其他请求将抛出 404 错误。

那么如何在某个 vhost 下的任何 URL 显示该页面?

答案1

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index.html
RewriteRule ^.*$ /index.html [L]

完成!每个请求都将被重写为 index.html。您甚至可以[L,R=302]创建一个临时重定向,这样会更好。

答案2

感谢其他答案的反馈,这里有一个替代方案,不会被蜘蛛索引

RedirectMatch 503 ^/(?!index\.html|yaml|work|css|screen)
ErrorDocument 503 /index.html
Header always set Retry-After "18000"

yaml、work、css、screen 是 index.html 引用的目录

相关内容