16

サイト全体をアップグレードしようとしています。技術スタートアップがメンテナンス プロセスをどのように行うかについてのアドバイスを探しています。

htaccessの利用を考えています。ただし、たとえば index.php にアクセスしているユーザーを maintenance.php にリダイレクトするだけですよね?ユーザーが dashboard.php にアクセスする場合、リダイレクトはありません。

メンテナンス中、index.php にアクセスする必要があります (私だけ)。テクノロジーのスタートアップで働いていた人で、ソリューションを共有したいと思っている人はいますか? 高く評価しました。

4

2 に答える 2

3

LightTPD を Web サーバーとして使用しており、「mod_magnet」を使用してそのようなことを行っています。Mod_magnet を使用すると、単純な lua スクリプトを使用してリクエストを処理できます。ウェブサーバーのファイルシステムのどこかに空のファイルを作成する自動タスクがあります。lua スクリプトは、リクエストごとにこのファイルの存在をチェックし、ファイルが見つかった場合は静的なメンテナンス ページを返します。スクリプトの重要な部分は次のようになります。

--
-- maintenance page
--
local config = {
    ['maintenance'] = {
        ['allow'] = {
            '127.0.0.1'    -- just an example IP address
        }
    }
}

if lighty.stat(lighty.env['physical.doc-root'] .. 'maintenance') then
    tmp, _ = table.search(config.maintenance.allow, lighty.env['request.remote-ip'])
    if not tmp then
        -- maintenance modus
        lighty.content = {
            { filename = lighty.env['physical.doc-root'] .. 'error/maintenance.html' }
        }

        return 503
    end
end

スクリプトには、特定の IP アドレスを引き続き通過させるための構成も含まれているため、たとえば会社のネットワークから Web サイトを表示することができます。

このソリューションは非常にうまく機能し、自動化されているため、1 つまたは複数の Web サーバーでメンテナンス ページが必要かどうかは問題ではありません。

興味がある場合は、ここで「mod_magnet」に関する詳細情報を見つけることができます。

http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModMagnet

于 2012-05-16T17:10:56.560 に答える
1

.htaccess について言及しているので、Web サーバーとして Apache を使用していると思います。他の人が述べたように、.htaccess を使用するか、その特定のサイトの VirtualHost conf を編集できます。

どちらの方法でも、Jonathon Sampson が推奨するように mod_rewrite を使用することをお勧めしますが、GoogleBot などの重要なボットは 503 を見たいので、適切なステータス コードも送信するように十分に注意する必要があります。メンテナンス中。

この AskApache の記事には、やりたいことを正確に実行するための非常に明確な手順がいくつかあります。

于 2012-05-16T22:32:14.533 に答える