web-dev-qa-db-ja.com

ウェブサイトはメンテナンス中です-アクセスを制限する方法は?

現在、私のウェブサイトはメンテナンス中です。メンテナンスが完了するまで、ウェブサイトにオンラインでアクセス/表示できる唯一の人になりたいです。他の人に制限を設定する方法は?私はストーカーが嫌いです。

3
Mina Hafzalla

現在、私のウェブサイトはメンテナンス中です。

ウェブサイトが一時的に「メンテナンス中」であり、検索エンジンによって既にライブおよびインデックス化されている場合、おそらくRetry-After HTTPヘッダーとともにサイトが期待される時期を示す「503 Service Unavailable」HTTP応答コードを返すことを検討する必要があります再び利用可能になります。 401または403応答でサイトへのアクセスを単にブロックする代わりに。

503応答は、特にサイトが「メンテナンスのためにダウン」している状況向けであり、ダウンタイムが検索エンジンのランキングに与える影響を軽減するのに役立ちます。

これは、IPアドレスをブロックするために、htaccessでmod_rewrite(およびmod_headers)を使用して簡単に実現できます。ただし、上記のコメントで述べたように、許可するIPが(合理的に)静的であるか、またはIP範囲を許可できない場合(コンテンツがあまり敏感でない場合) )。

Htaccessでこのようなことを実現するには:

# Declare custom error document
ErrorDocument 503 /errordocs/e503.php

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !=123.123.123.123
RewriteCond %{REMOTE_ADDR} !=124.124.124.124
RewriteCond %{ENV:REDIRECT_STATUS} !=503
RewriteRule .* - [R=503,L]

IP 123.123.123.123および124.124.124.124のみがアクセスを許可されます。次に、無条件のRetry-Afterヘッダーを送信するには:

Header set Retry-After "Wed, 25 Dec 2013 04:00:00 GMT"

(これは、たとえば環境変数の値に基づいて条件付きで送信できます。)

ただし、個人的には、日付/時刻をエラードキュメントに直接渡し、スクリプトが条件付きでヘッダーを設定し、同時にユーザーに意味のあるメッセージを表示できるようにする傾向があります(これは、mod_headersインストール済み):

# Declare custom error document, passing date/time for Retry-After header
ErrorDocument 503 /errordocs/e503.php?RetryAfter=2013-12-25+04:00:00
6
MrWhite

タグとして「cpanel」を選択したことがわかります。 cPanelには、ディレクトリをパスワードで保護するオプションが必要です。次のようになります。 enter image description here

ここで、Webサイトのルートのユーザー名とパスワードを設定できます。このようにして、正しい資格情報を持っている人だけがサイトを見ることができます。

1
Pikk