ホームページが静的コンテンツになっており、その下(裏)でCMSが動作しているというケースは少なくないと思います。
上記ディレクトリ構成のまま、Joomla!のコンテンツをサイトトップに表示させる方法です。


サイトトップ
 URL www.example.com/index.html
 物理パス  /var/www/www.example.com/index.html

Joomla
   URL  www.example.com/joomla/index.php
  物理パス  /var/www/www.example.com/joomla/index.php

これだと、Joomla!のコンテンツは /joomla/の下にしか見えて来ません。

例えば、オウンドメディア部分のみJoomla!で管理したい場合とか、/joomla/が邪魔です。

また、/var/www/の下にAdministratorとかlibrariesとか、Joomla!のディレクトリが散在していると、ディレクトリの管理がしにくいですよね。


そこで、上記ディレクトリ構成のまま、Joomla!のコンテンツをサイトトップに表示させる方法です。



※.htaccessとmod_rewriteが有効になる環境でのみ動作する例です。 DNSの設定でwww.example.comを向かせる先は /var/www/www.example.com/とします。

Apacheの場合、VirtualHostのDocumentRootは /var/www/www.example.com です。

①ドキュメントルートに以下の.htaccessを設置します。


# /var/www/www.example.com/.htaccess

# Turn mod_rewrite on
RewriteEngine On


#Hide the joomla subdirectory
RewriteCond %{REQUEST_URI} !^/joomla/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /joomla/$1 [L]
RewriteRule ^(/)?$ joomla/index.php [L]
②Joomla!のインストール
 http://www.example.com/joomla/ で、とりあえずJoomla!をインストールします。
 ※この時はまだJoomla!は/joomla/で動作します。

③インストールを終えたら、フレンドリURLを有効にします。
 /var/www/www.example.com/joomla/ の下にも.htaccessファイルが生成されますが、これはこのままで大丈夫です。



④configuration.phpの編集

サイトのトップがどこかを明示的に示すために、以下の1行を編集します。

public $live_site = '';/span>



public $live_site = 'http://www.example.com/';


にします。


これで、/var/www/www.example.com/joomla/ にインストールした場合でも、

http://www.example.com/でJoomla!が動作するようになります。

★静的コンテンツやWordPressや他WEBアプリと同居する場合でも、ディレクトリの管理がしやすくなります。

ちなみにJoomla!内でWordPressを動かすWordPress in Joomla!という拡張機能もあったりします。

ではでは。