下層ディレクトリー(フォルダー)でテストして、ファイルを動かさずにルートで公開
参考までに。本家のチュートリアルページに、ドイツのユーザーさんが為になるチュートリアルを掲載していました。
翻訳している時間がないので、簡単な説明のみ。だれか、フォローしてください〜。
サーバーで「concrete5.4.1.1」というフォルダーの中にconcrete5、全てのファイルを保存しても、あたかも、サイトのルートで公開されているように騙す方法です。
例)
■ 実際の concrete5 保存先
http://EXAMPLE.COM/concrete5.4.1.1/
■ ユーザーがアクセスするURI
http://EXAMPLE.COM/
このように、FTPの中で、ルートディレクトリは「concrete5.4.1.1」というフォルダーだけしか見えておらず、他にも html ファイルやディレクトリーを作って公開したい人向け
注意:ただし concrete5 で使用しているディレクトリー名「blocks」や「package」等のディレクトリー名や、concrete5 サイトで使用しているページ名を使うと concrete5 が壊れてしまうので注意。
リンク先の方法は、/concrete5.4.1.1/ フォルダーでテスト運用をして、公開するときに、ファイルを動かさずに、サイトルートで公開できる方法です。
.htaccess を、サイトルートと「concrete5.4.1.1」フォルダーに
index.php と /config/site.php を変更する方法です。
ただし、サーバーによっては完全にサポートしていないところがあります。さくらインターネットさんがこの方法できないような気がします(誰か確認して〜。後日、確認できたら個々の文章を修正します。)
http://www.concrete5.org/documentation/how-tos/designers/install-concrete5-invisible-over-an-existing-website/
サーバー上で他のディレクトリーやファイルがあって、整理をしたい人向けです。
基本的に「concrete5.4.1.1」という部分を、自分の好きなディレクトリー名に変えるだけでいいでしょう。
/.htaccess の例
DirectoryIndex index.html index.php
RewriteEngine On
RewriteBase /
RewriteRule ^$ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^concrete5.4.1.1/ [NC]
RewriteRule ^(.*)$ /concrete5.4.1.1/$1
/concrete5.4.1.1/.htacess の例
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /concrete5.4.1.1/index.php/$1 [L]
/concrete5.4.1.1/index.php をこれに改造
<?php
$_SERVER['REDIRECT_URL'] = str_replace('concrete5.4.1.1/', '', $_SERVER['REDIRECT_URL']);
$_SERVER['ORIG_PATH_INFO'] = str_replace('concrete5.4.1.1/', '', $_SERVER['ORIG_PATH_INFO']);
$_SERVER['PATH_INFO'] = str_replace('concrete5.4.1.1/', '', $_SERVER['PATH_INFO']);
$_SERVER['SCRIPT_NAME'] = str_replace('concrete5.4.1.1/', '', $_SERVER['SCRIPT_NAME']);
require('concrete/dispatcher.php');
/concrete5.4.1.1/config/site.php の
define('DIR_REL', 'concrete5.4.1.1');
を
define('DIR_REL', '');
に変更し、
define('SERVER_PATH_VARIABLE','REDIRECT_URL');
の1行を加える
例:
define('DB_SERVER', '【MYSQLアドレス】');
define('DB_USERNAME', '【MYSQLユーザー】');
define('DB_PASSWORD', '【MYSQLパスワード】');
define('DB_DATABASE', '【MYSQLデータベース名】');
define('BASE_URL', '【URL】');
define('DIR_REL', '');
define('SERVER_PATH_VARIABLE','REDIRECT_URL');
define('PASSWORD_SALT', '【ごちゃごちゃした文字列】');
てな具合になります。「DIR_REL」と「SERVER_PATH_VARIABLE」という文章を加えました。
akidas
Re: 下層ディレクトリー(フォルダー)でテストして、ファイルを動かさずにルートで公開
http://concrete5-japan.org/community/forums/5-7-x/post-10739/
こちらのページも参考に、 さくらサーバーで設定してみましたら
(htaccessをルートとconcreteフォルダに設置するやり方の方で)
ドメインでの表示ができました