SOY CMSのユーザから下記のような質問がありました。
SOY CMSでサイトを作る時、サイトIDをhogeにして、https://example.com/hogeのようなURLのサイトを作成するが、https://example.com/hoge/huga のようにもう一つ下の階層のサイトを作成することはできませんか?
今回の記事では上記の質問に対応した時の内容を残しておく。
SOY CMSをインストールするディレクトリは /var/www/html にして話を進める。
ドメインは、example.com
最初にサイトを作成する。
この時のサイトIDは hoge か huga にしておく。
今回は hoge で作成した。
ディレクトリ構造は
$ tree -a /var/www/html/hoge hoge ├── .cache ├── .db ├── .entry_template ├── .htaccess ├── .plugin ├── .template ├── css ├── files ├── im.php ├── image ├── index.php └── js
このようになる。
hogeディレクトリと各ディレクトリやファイルの間にhugaを設け、
$ tree -a /var/www/html/hoge hoge └── huga ├── .cache ├── .db ├── .entry_template ├── .htaccess ├── .plugin ├── .template ├── css ├── files ├── im.php ├── image ├── index.php └── js
のようにする。
次にSiteテーブルがあるデータベースを開く。
SQLite版であれば、/var/www/html/CMSインストールディレクトリ/common/db/cms.db
MySQLはご自身で作成されたデータベース
Siteテーブルのurlとpathの値を下記のように変更する。
※SETに入れる値は各自の環境に合わせて適宜変更してください
mysql> UPDATE Site SET url = 'http://example.com/hoge/huga/' WHERE site_id = 'hoge'; mysql> UPDATE Site SET path = '/var/www/html/hoge/huga/' WHERE site_id = 'hoge';
※どちらのカラムの変更も末尾に増やしたディレクトリ名 + /を追加している
※ようこそSOYCMSへのページからサイト一覧 > 詳細のページでもサイトのURLを変更しておいた方が良いかもしれない。
最後に/var/www/html/hoge/huga/.htaccessを変更する。
RewriteEngine on RewriteBase /hoge
を
RewriteEngine on RewriteBase /hoge/huga
これで手続きは終了。
不足している内容があり次第、当記事は更新します。