上記ディレクトリ構成のまま、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!という拡張機能もあったりします。
ではでは。