実装方法""メンテナンスモード"でしかできない設サイト
-
22-09-2019 - |
質問
ってサイトサポートに対するコミットメント60以上のページ。ってのみ、現在では(残念ながらするものなのかどうかに関してすべてに"メンテナンスモード"機能との組合せにより、管理を一時的に無効にするにサイトポイントでメンテナンスモードページです。このことのみを受けることができるログインとしてのadmin(管理者のサイト。
オプションに見えるのは:
新規追加"など"ファイルの一PHPのページです。
いつまで表示するのに使用されるナビゲーションバーに
全ページ(ナビゲーションを行っています。-ただ単に"サムネやエンジンのメンテナンスモード
コードするようにご留意ください。
いるその他のオプション?第1回オプションになるよう、最も効率的に2つだけのように悪いプログラミング他にあるようにファイルを保存し、新規ファイル一つひとつのphpファイルとは何ですか?
よろしく!
ps-このサイトに記載を開始し
解決
あなたはメンテナンスモードにしながら、別のページにリダイレクトするように.htaccess
を使用することができます。
スリー例を仕分けます:
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^11\.111\.111\.111
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteRule ^(.*)$ http://domain.com/maintenance.html [R=307,L]
の.htaccess「ダウンのメンテナンス」ページリダイレクトする
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_HOST} !^888\.888\.888\.888
RewriteRule $ /maintenance.html [R=302,L]
リダイレクト使用してアップグレード中のメンテナンスページへ.htaccessファイルの
# redirect all visitors to alternate site but retain full access for you
ErrorDocument 403 http://www.alternate-site.com
Order deny,allow
Deny from all
Allow from 99.88.77.66
apacheのののための他のヒント
私が知っている、これは古い質問ですが、私は検索を経由してこのページに遭遇して、将来のサーチャーのためにこれを追加しています。
私はPHPのリダイレクトを使用します。
各ページの上部に次の行を追加します:
<?php
include('PATH/TO/FILE/config.php');
if(maintenance == 1) {
header('Location: http://example.com/maintenance.php');
}
else {
// do nothing
}
?>
そして、あなたのconfig.phpファイルでちょうどそう
のような変数を作ります$maintenance = 0; // turns maintenance mode off
あなたはあなたのサイトがメンテナンスモードになりたい場合は、単に「1」に「0」に変更します。 これは、メンテナンスページにすべてのサイト訪問者をリダイレクトされます。
私はそれをテストすることなく、かなり速いそのコードを入力したが、それは動作するはずです。
指定の名前のファイルは自動的に解析される前に、主なファイルです。ファイルとして呼び出された場合には、必要と()関数でinclude_pathを使用します。
特殊な値はnoneを無効に自動prepending.
きのこはクリアしました。iniは、apache(仮)ホストファイルや..htaccessファイルとphp_flag auto_prepend_file file.php
【php_admin_flag(?)]
編集
- みんなのインクルードファイルウェブルートdirまたはフォルダーです。
- -記憶の呼び出口もしくは金型です。
はIPアドレスを指定するのではなく、あなたがまたするRewriteCondでHTTP_USER_AGENTに対してチェックすることができ..
RewriteCond %{HTTP_USER_AGENT} !MyCrazyString
RewriteCond %{THE_REQUEST} !upgrade\.txt
RewriteRule .* /upgrade.txt [R=307,L]
は、ブラウザのユーザーエージェント文字列の末尾にタグ付けされた「MyCrazyString」と誰もがアクセスを得ることができ、他のみんなは、メンテナンスモードページ/サイトを取得します。
限り高いセキュリティが必要とされていないとして、それは理想的です。迅速かつ簡単に広める管理者に、完全に移植、そしてあなたがDSLを再接続した場合のみ、男のと実際ののサーバーへのアクセスは、地球の反対側で眠っているとき重要なのは、中断されません。
; O)コー
最も簡単な方法は、サイトの作成に関するロジックの一部を集中することです。この方法は、あなたが上でメンテナンスモードをオンにし、別のページにすべての非管理者をリダイレクトすることができます。これは、私はあなたがそうちょうどあなたのページ全体に何か共通のグローバル変数を持っていない場合は(グローバル変数をチェックするログイン機能を拡張し、あらゆる場所にポップアップ続けていくつかのコードを持っている想像して、行うのは難しいことではないでしょうあなただけ)のsetenvを経由して.htaccessファイルでそれを設定することができます。
私が思うに、より簡単ですの標準のApache式はA <よりも理解しますhref = "http://httpd.apache.org/docs/current/mod/mod_rewrite.html" のrel = "nofollowを">書き換え規則はします。
メンテナンスIリネームファイルの前の /ホーム/ coolcmd / site_maintenance_off のへの /ホーム/ coolcmd / site_maintenance_on の。
/.htaccessためのコードスニペットます:
# If file, directory or symlink /home/coolcmd/site_maintenance_on exists,
# and requested file is not /maintenance.html,
# and not an admin's IP...
<If "-e '/home/coolcmd/site_maintenance_on' && %{REQUEST_URI} != '/maintenance.html' && %{REMOTE_ADDR} != '111.111.111.111'">
# Generate status code 503 for URL beginning with /, in other words for ANY URL.
# This is not "the real redirection 3xx".
Redirect 503 "/"
# This page handles status code 503. All external resources used by page
# (for example, maintenance.css), if any, must be added to <if> above.
ErrorDocument 503 /maintenance.html
# Maintenance probably will end in 10 minutes.
Header set Retry-After 600
</If>