サーバーネームを固定したい。

CMONOS.JP は環境変数 SERVER_NAME を利用してサイトの URL を自動生成します。そのため同じサイトに異なるドメインでアクセスできる環境や、環境変数 SERVER_NAME がアクセスドメインと異なる環境では、RSS 書き出しなどで記事を削除できなくなるなどの不具合が発生します。

アクセスできるドメインを一つに限定する方法

この作業にはサーバに FTP でアクセスする権限が必要です。

そのドメイン用の公開ディレクトリ直下にある .htaccess ファイルを開き、下記を追記します。.htaccess ファイルがない場合は、テキストエディタなどで作成します。

下記は「anatanoaccount.dokokanoserver.ne.jp」「www.anatanodomain.jp」「anatanodomain.jp」の三つのドメイン名でアクセスできるサーバで、アクセスを「anatanodomain.jp」のみに限定する設定です。「anatanoaccount.dokokanoserver.ne.jp」「www.anatanodomain.jp」へアクセスすると「anatanodomain.jp」の対応するページへ転送されます。

<IfModule mod_rewrite.c>
	RewriteCond %{HTTP_HOST} ^anatanoaccount\.dokokanoserver\.ne\.jp [NC]
	RewriteRule .* http://anatanodomain.jp%{REQUEST_URI} [L,R=301]
	RewriteCond %{HTTP_HOST} ^www\.anatanodomain\.jp [NC]
	RewriteRule .* http://anatanodomain.jp%{REQUEST_URI} [L,R=301]
</IfModule>

ドメイン名中のピリオド「.」は「\」(¥ではなくバックスラッシュ)でエスケープします。

内部的なサーバーネームを固定する方法

この作業にはサーバに FTP でアクセスする権限が必要です。

  1. FTP 等で "~/cgi-data/lib/env.pl" をダウンロードし、サーバーネームを設定します。この例では「anatanodomain.jp」に設定しています。[89-90行目]
    # サーバネーム(空欄で自動取得)
    $server_name = 'anatanodomain.jp';
    
  2. 書き換えた env.pl を FTP 等で "~/cgi-data/lib/env.pl" にアップロードし、古いものと差し替えます。