web-dev-qa-db-ja.com

サブドメインにリダイレクトする前にメンテナンスモードを確認できますか?

私は現在、Originの国に基づいたリダイレクトを必要とするいくつかのサブドメインを持つサイトに取り組んでいますが、mod_geoipモジュールが許可されていないため、.htaccessリダイレクトを使用できません

GeoIPEnable On
GeoIPDBFile /path/to/GeoIP.dat

# Canada
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CA$
RewriteRule ^(.*)$ http://ca.abcd.com$1 [L]

私はいくつかの調査をしました、そして Cloudflare はGEOlocationを許し、私は使うことができることを発見しました(コード例):

$country_Origin = strtolower($_SERVER['HTTP_CF_IPCOUNTRY']);
in a switch like (code is an example, hasn't been tested):

$country_Origin = strtolower( $_SERVER[ "HTTP_CF_IPCOUNTRY" ] );
$clean_url = preg_replace("(^https?://)", "",  get_site_url() );
if ( !empty( $country_Origin ) && $country_Origin != 'us' ) {
  switch( $country_Origin ) {
    case 'et';
        header( 'Location: http://' . $country_Origin . '.' . $clean_url );
        break;          
    case 'us';
        header( 'Location: http://' . $country_Origin . '.' . $clean_url );
        break;
    case 'ca';
        header( 'Location: http://' . $country_Origin . '.' . $clean_url );
        break;
  }
}

コンテンツが別々に書き直され管理されるので、各サブドメインはそれ自身のWordPressインストールを持つことになるので、リダイレクトを停止/防止するためにサイトがメンテナンスモードで有効になっているかどうか確認できますか?

WordPressがブログをメンテナンスモードにするたびに、インストールディレクトリのルートにファイルが作成されます。

ファイルには、更新中のプラグイン/テーマ/コアに関連する文字列が含まれています。その名前は.maintenanceです(名前はなく拡張子のみ)。

ファイルはプロセスが終了するまでそこに留まるので、こうすることでファイルが存在するかどうかを確認できます。

if( file_exists(ABSPATH .'/.maintenance') ) { 
    // Stop redirection here
}

あなたが探しているものはどれでしょう。

1
Jack Johansson