【SOY CMS】公開ページをルートディレクトリ直下ではない場所にしたい

前回SOY CMSのサーバー移動についてメモしましたが、

今回はSOY CMSをルートディレクトリ以外に置きたいときの

設定方法をメモしておきます。

 

基本SOY CMSはルートディクトリの直下に、

公開ページが展開されます。

 

しかし、都合が悪い時もありますよね。

そんな時に、少し調整するだけですぐに希望が叶います。

 

公式でも説明がありますので、合わせてどうぞ。

https://www.soycms.net/blog/article/SOY_CMS%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A8%E5%85%AC%E9%96%8B%E5%81%B4%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E8%A8%AD%E5%AE%9A

SOY CMS公開ページをルートディレクトリ直下ではない場所に設置する簡単な流れ

まずざっと簡単な流れです。

  1. サイトを作成するディレクトリ設定(php)
  2. 管理画面<サイト一覧>のURL設定(php)

 

やる事はたったの2つですが、

phpファイルを触る事になります。

 

しかし、これも難しい作業ではないので、

不安が残る方はバックアップをとって作業したらよいと思います。

 

1・サイトを作成するディレクトリの設定

以下にあるuser.config.php.sampleを開きます。

/common/config/user.config.php.sample

 

このファイルの31行目付近にあるコメントアウトをはずします。

//サイトを作成するディレクトリを指定する(デフォルトはドキュメントルート)。
//define("SOYCMS_TARGET_DIRECTORY", $_SERVER["DOCUMENT_ROOT"]);

//サイトを作成するディレクトリを指定する(デフォルトはドキュメントルート)。
define("SOYCMS_TARGET_DIRECTORY", $_SERVER["DOCUMENT_ROOT"]);

 

次に、サイトを作成したディレクトリ名を追記します。

例えばsample_dirというディレクトリの下にサイトを作成するときは、

$_SERVER[‘DOCUMENT_ROOT’]の後に「.」で繋いで、

“sample_dir”と追記します。

//サイトを作成するディレクトリを指定する(デフォルトはドキュメントルート)。
define("SOYCMS_TARGET_DIRECTORY", $_SERVER["DOCUMENT_ROOT"] . "/sample_dir/");

 

次に保存をして、.sampleを削除し「user.config.php」として

サーバーにアップロードします。

 

これでサイトを作ってみると、

先ほど設定した/sample_dir/の下にサイトが作成されているはずです。

 

2・管理画面のサイト一覧で表示されるURLを設定する

さて、サイト作成は成功しましたが、

管理画面のサイト一覧を見てみると、

URLがまだドキュメントルートが表示されています。

 

これを設定するためには、

先ほどと同じくuser.config.phpファイルを使います。

 

35行目付近にある

//公開側のURL(SOYCMS_TARGET_DIRECTORYを参照するURLをhttp://から指定する)
//define("SOYCMS_TARGET_URL", "");

このコードのコメントアウトを外します。

//公開側のURL(SOYCMS_TARGET_DIRECTORYを参照するURLをhttp://から指定する)
define("SOYCMS_TARGET_URL", "");

 

次に1で設定したディレクトリまでのURLを追記します。

//公開側のURL(SOYCMS_TARGET_DIRECTORYを参照するURLをhttp://から指定する)
define("SOYCMS_TARGET_URL", "http://example.com/sample_dir");

1で設定したのはsample_dirというディレクトリでした、

ですので、”http://example.com/sample_dir”と入れています。

※URLの最後に/は要らないようです

 

これで終わりです。