サブディレクトリにインストールしたa-blog cmsをルートURLで表示する方法

通常、a-blog cmsはサブディレクトリにインストールしてもファイル全部を上階層にもってくれば、そのままルートURLで表示させることができます。


インストールディレクトリの変更

インストールディレクトリの変更


https://example.com/acms/

https://example.com/

ただ他システムの共存などでドキュメントルートを整理したい場合がありますので、ここでは、サブディレクトリにファイルを置いたままルートURLで表示する方法を紹介します。

いくつか注意点がありますので、特に理由がない場合は全ファイルをドキュメントルートに移動する方法でご対応ください。

ファイルの移動

サブディレクトリにある、以下2ファイルをドキュメントルートに持ってきます。

  • .htaccess
  • index.php

一部ファイルの移動

一部ファイルの移動


index.php の修正

移動したindex.phpの7-20行目付近を修正します。以下、修正前のコードと修正後のコードになります。

修正前

/**
 * config.server.php
 */
if ( !is_file('config.server.php') ) {
    die('config.server.php is missing');
}
require_once 'config.server.php';
require_once PHP_DIR . 'config/app.php';
require_once PHP_DIR . 'config/polyfill.php';

/**
 * path
 */
setPath($_SERVER['SCRIPT_FILENAME']);

修正後

/**
 * config.server.php
 */
if ( !is_file('acms/config.server.php') ) {
    die('config.server.php is missing');
}
require_once 'acms/config.server.php';
require_once 'acms/' . PHP_DIR . 'config/app.php';
require_once 'acms/' . PHP_DIR . 'config/polyfill.php';

/**
 * path
 */
setPath(__DIR__ . '/acms/index.php');

ここで、「acms」はご利用環境のサブディレクトリ名に変更して編集ください。

.htaccess の修正

.htaccessを修正します。「ReriteEngine on」のすぐ後に追加します。

RewriteEngine on
# 以下を追記
RewriteRule ^acms/ - [L]
RewriteCond %{DOCUMENT_ROOT}/acms/%{REQUEST_URI} -f
RewriteRule ^(.*)$ /acms/$1 [L]

ここでも「acms」はご利用環境のサブディレクトリ名に変更して編集ください。

注意点

システムアップデートを行うと、「index.php」はアップデートは行われません。「index.php」がアップデートされている可能性がありますので、バージョンアップ後は確認をお願いします。

またシステムアップデートを行うと、サブディレクトリの中に「index.php」が生成されています。このファイルがあると正常に動作しませんので、削除してください。

以上、サブディレクトリにインストールしたa-blog cmsをルートURLで表示する方法でした。