我制作了一个静态的“网站维护中”页面。我希望,对于特定的虚拟主机,该页面会针对任何 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 引用的目录